Fusion (Connected Textures)СкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачать
ВЕРСИИ (1835)
release
Fusion 1.3.16
1.3.16-neoforge-mc26.35 окт. 2026 г.8 тыс.Minecraft: 26.3neoforge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed crash with NeoForge 26.3.0.36-beta and newer
### Fusion 1.3.15a
- Fixed flag tracking breaking overlay rendering not being cleared, sometimes resulting in missing model parts
## Update to Minecraft 26.3
### Fusion 1.3.15a
- Added icon and banner images for new NeoForge 26.2.0.50-beta mod list
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.16
1.3.16-neoforge-mc26.25 окт. 2026 г.3,3 тыс.Minecraft: 26.2neoforge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed flag tracking breaking overlay rendering not being cleared, sometimes resulting in missing model parts
### Fusion 1.3.15a
- Added icon and banner images for new NeoForge 26.2.0.50-beta mod list
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.16
1.3.16-neoforge-mc26.15 окт. 2026 г.2,7 тыс.Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.16
1.3.16-neoforge-mc1.21.115 окт. 2026 г.2,1 тыс.Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.16
1.3.16-neoforge-mc1.21.95 окт. 2026 г.303Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.16
1.3.16-neoforge-mc1.21.85 окт. 2026 г.264Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.16
1.3.16-neoforge-mc1.21.55 окт. 2026 г.105Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.16
1.3.16-neoforge-mc1.21.45 окт. 2026 г.205Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models for blocks targeted by block model modifiers not receiving world context with Sodium
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.3.16
1.3.16-neoforge-mc1.21.35 окт. 2026 г.82Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using NeoForge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.16
1.3.16-neoforge-mc1.21.15 окт. 2026 г.86,3 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using NeoForge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed broken lighting for Fusion models
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.16
1.3.16-neoforge-mc1.20.65 окт. 2026 г.39Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using NeoForge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.16
1.3.16-neoforge-mc1.20.45 окт. 2026 г.78Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using NeoForge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.3.16
1.3.16-fabric-mc26.35 окт. 2026 г.85,4 тыс.Minecraft: 26.3fabric, quilt
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15a
- Fixed flag tracking breaking overlay rendering not being cleared, sometimes resulting in missing model parts
## Update to Minecraft 26.3
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.16
1.3.16-fabric-mc26.25 окт. 2026 г.34,5 тыс.Minecraft: 26.2fabric, quilt
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15a
- Fixed flag tracking breaking overlay rendering not being cleared, sometimes resulting in missing model parts
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.16
1.3.16-fabric-mc26.15 окт. 2026 г.8,8 тыс.Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.16
1.3.16-fabric-mc1.21.115 окт. 2026 г.24,3 тыс.Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.16
1.3.16-fabric-mc1.21.95 окт. 2026 г.2,6 тыс.Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.16
1.3.16-fabric-mc1.21.65 окт. 2026 г.1,2 тыс.Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.16
1.3.16-fabric-mc1.21.55 окт. 2026 г.629Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.16
1.3.16-fabric-mc1.21.45 окт. 2026 г.1,1 тыс.Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_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 block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.16
1.3.16-fabric-mc1.21.35 окт. 2026 г.180Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.16
1.3.16-fabric-mc1.215 окт. 2026 г.28,6 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.16
1.3.16-fabric-mc1.20.65 окт. 2026 г.111Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.16
1.3.16-fabric-mc1.20.45 окт. 2026 г.403Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.16
1.3.16-fabric-mc1.20.25 окт. 2026 г.66Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.16
1.3.16-fabric-mc1.20.15 окт. 2026 г.13,2 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
- Fixed integration with Indium that was accidentally deleted in version 1.3.6
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.16
1.3.16-fabric-mc1.19.45 окт. 2026 г.78Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.16
1.3.16-fabric-mc1.19.25 окт. 2026 г.319Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.16
1.3.16-fabric-mc1.185 окт. 2026 г.218Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.16
1.3.16-forge-mc26.25 окт. 2026 г.869Minecraft: 26.2forge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15a
- Fixed flag tracking breaking overlay rendering not being cleared, sometimes resulting in missing model parts
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.16
1.3.16-forge-mc26.15 окт. 2026 г.557Minecraft: 26.1, 26.1.1, 26.1.2forge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.16
1.3.16-forge-mc1.21.115 окт. 2026 г.871Minecraft: 1.21.11forge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15a
- Fixed default block render type not being included in model render types, resulting in missing quads for models without custom render types
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.16
1.3.16-forge-mc1.21.95 окт. 2026 г.147Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed default block render type not being included in model render types, resulting in missing quads for models without custom render types
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
- Fixed crash with Forge 59.0.2 and newer
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.16
1.3.16-forge-mc1.21.65 окт. 2026 г.90Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed default block render type not being included in model render types, resulting in missing quads for models without custom render types
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.16
1.3.16-forge-mc1.21.55 окт. 2026 г.56Minecraft: 1.21.5forge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.16
1.3.16-forge-mc1.21.45 окт. 2026 г.66Minecraft: 1.21.4forge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models for blocks targeted by block model modifiers not receiving world context with Sodium
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.16
1.3.16-forge-mc1.21.35 окт. 2026 г.28Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.16
1.3.16-forge-mc1.215 окт. 2026 г.1,5 тыс.Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.16
1.3.16-forge-mc1.20.65 окт. 2026 г.69Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.16
1.3.16-forge-mc1.20.45 окт. 2026 г.150Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.16
1.3.16-forge-mc1.20.15 окт. 2026 г.62,5 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added integration with Oculus to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.16
1.3.16-forge-mc1.19.45 окт. 2026 г.72Minecraft: 1.19.4forge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.16
1.3.16-forge-mc1.19.35 окт. 2026 г.17Minecraft: 1.19.3forge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.16
1.3.16-forge-mc1.19.25 окт. 2026 г.1,3 тыс.Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.16
1.3.16-forge-mc1.185 окт. 2026 г.882Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.16
1.3.16-forge-mc1.175 окт. 2026 г.43Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.16
1.3.16-forge-mc1.165 окт. 2026 г.953Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15a
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.16
1.3.16-forge-mc1.155 окт. 2026 г.59Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15a
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.16
1.3.16-forge-mc1.125 окт. 2026 г.3,6 тыс.Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.3.16
- Fixed calculation for rounding up size of continuous textures to power of 2 being off by 1 for items
### Fusion 1.3.15a
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed block model modifier `pane_culling_fix` not always being able to check pane side connections
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2a
- Fixed crash when rendering terrain particle with `null` sprite
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12c
- Fixed crash without CensoredASM
### Fusion 1.2.12b
- Fixed crash with CensoredASM
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15b
1.3.15b-neoforge-mc26.33 окт. 2026 г.667Minecraft: 26.3neoforge
Что нового
### Fusion 1.3.15b
- Fixed crash with NeoForge 26.3.0.36-beta and newer
### Fusion 1.3.15a
- Fixed flag tracking breaking overlay rendering not being cleared, sometimes resulting in missing model parts
## Update to Minecraft 26.3
### Fusion 1.3.15a
- Added icon and banner images for new NeoForge 26.2.0.50-beta mod list
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.15b
1.3.15b-neoforge-mc1.21.321 сент. 2026 г.184Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using NeoForge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.15b
1.3.15b-neoforge-mc1.21.121 сент. 2026 г.38,7 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using NeoForge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed broken lighting for Fusion models
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.15b
1.3.15b-neoforge-mc1.20.621 сент. 2026 г.50Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using NeoForge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.15b
1.3.15b-neoforge-mc1.20.421 сент. 2026 г.37Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using NeoForge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.3.15b
1.3.15b-fabric-mc1.21.321 сент. 2026 г.262Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.15b
1.3.15b-fabric-mc1.2121 сент. 2026 г.11,7 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.15b
1.3.15b-fabric-mc1.20.621 сент. 2026 г.90Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.15b
1.3.15b-fabric-mc1.20.421 сент. 2026 г.224Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.15b
1.3.15b-fabric-mc1.20.221 сент. 2026 г.70Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.15b
1.3.15b-fabric-mc1.20.121 сент. 2026 г.5,4 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
- Fixed integration with Indium that was accidentally deleted in version 1.3.6
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15b
1.3.15b-fabric-mc1.19.421 сент. 2026 г.33Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15b
1.3.15b-fabric-mc1.19.221 сент. 2026 г.119Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15b
1.3.15b-fabric-mc1.1821 сент. 2026 г.73Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15b
1.3.15b-forge-mc1.21.321 сент. 2026 г.20Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.15b
1.3.15b-forge-mc1.2121 сент. 2026 г.653Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.15b
1.3.15b-forge-mc1.20.621 сент. 2026 г.16Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.15b
1.3.15b-forge-mc1.20.421 сент. 2026 г.51Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.15b
1.3.15b-forge-mc1.20.121 сент. 2026 г.24,6 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added integration with Oculus to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15b
1.3.15b-forge-mc1.19.421 сент. 2026 г.30Minecraft: 1.19.4forge
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15b
1.3.15b-forge-mc1.19.321 сент. 2026 г.3Minecraft: 1.19.3forge
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15b
1.3.15b-forge-mc1.19.221 сент. 2026 г.521Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15b
1.3.15b-forge-mc1.1821 сент. 2026 г.367Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15b
1.3.15b-forge-mc1.1721 сент. 2026 г.12Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.3.15b
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15a
1.3.15a-forge-mc1.1621 сент. 2026 г.340Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.3.15a
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15a
1.3.15a-forge-mc1.1521 сент. 2026 г.20Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.3.15a
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15a
1.3.15a-forge-mc1.1221 сент. 2026 г.1,4 тыс.Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.3.15a
- Fixed error when a connecting texture is rendered without world context and an empty tile is picked
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed block model modifier `pane_culling_fix` not always being able to check pane side connections
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2a
- Fixed crash when rendering terrain particle with `null` sprite
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12c
- Fixed crash without CensoredASM
### Fusion 1.2.12b
- Fixed crash with CensoredASM
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15a
1.3.15a-forge-mc1.21.1119 сент. 2026 г.602Minecraft: 1.21.11forge
Что нового
### Fusion 1.3.15a
- Fixed default block render type not being included in model render types, resulting in missing quads for models without custom render types
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.15b
1.3.15b-forge-mc1.21.919 сент. 2026 г.156Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.3.15b
- Fixed default block render type not being included in model render types, resulting in missing quads for models without custom render types
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
- Fixed crash with Forge 59.0.2 and newer
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.15b
1.3.15b-forge-mc1.21.619 сент. 2026 г.90Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.3.15b
- Fixed default block render type not being included in model render types, resulting in missing quads for models without custom render types
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.15a
1.3.15a-neoforge-mc26.316 сент. 2026 г.2,6 тыс.Minecraft: 26.3neoforge
Что нового
### Fusion 1.3.15a
- Fixed flag tracking breaking overlay rendering not being cleared, sometimes resulting in missing model parts
## Update to Minecraft 26.3
### Fusion 1.3.15a
- Added icon and banner images for new NeoForge 26.2.0.50-beta mod list
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.15b
1.3.15b-neoforge-mc26.216 сент. 2026 г.2,3 тыс.Minecraft: 26.2neoforge
Что нового
### Fusion 1.3.15b
- Fixed flag tracking breaking overlay rendering not being cleared, sometimes resulting in missing model parts
### Fusion 1.3.15a
- Added icon and banner images for new NeoForge 26.2.0.50-beta mod list
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.15a
1.3.15a-fabric-mc26.316 сент. 2026 г.34,1 тыс.Minecraft: 26.3fabric, quilt
Что нового
### Fusion 1.3.15a
- Fixed flag tracking breaking overlay rendering not being cleared, sometimes resulting in missing model parts
## Update to Minecraft 26.3
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.15a
1.3.15a-fabric-mc26.216 сент. 2026 г.25,6 тыс.Minecraft: 26.2fabric, quilt
Что нового
### Fusion 1.3.15a
- Fixed flag tracking breaking overlay rendering not being cleared, sometimes resulting in missing model parts
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.15a
1.3.15a-forge-mc26.216 сент. 2026 г.591Minecraft: 26.2forge
Что нового
### Fusion 1.3.15a
- Fixed flag tracking breaking overlay rendering not being cleared, sometimes resulting in missing model parts
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.15
1.3.15-neoforge-mc26.315 сент. 2026 г.251Minecraft: 26.3neoforge
Что нового
## Update to Minecraft 26.3
### Fusion 1.3.15a
- Added icon and banner images for new NeoForge 26.2.0.50-beta mod list
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.15
1.3.15-fabric-mc26.315 сент. 2026 г.3,6 тыс.Minecraft: 26.3fabric, quilt
Что нового
## Update to Minecraft 26.3
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.15a
1.3.15a-neoforge-mc26.211 сент. 2026 г.1,5 тыс.Minecraft: 26.2neoforge
Что нового
### Fusion 1.3.15a
- Added icon and banner images for new NeoForge 26.2.0.50-beta mod list
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.15a
1.3.15a-neoforge-mc1.21.96 сент. 2026 г.327Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.15a
1.3.15a-neoforge-mc1.21.86 сент. 2026 г.253Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.15a
1.3.15a-neoforge-mc1.21.56 сент. 2026 г.92Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.15a
1.3.15a-neoforge-mc1.21.46 сент. 2026 г.167Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models for blocks targeted by block model modifiers not receiving world context with Sodium
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.3.15a
1.3.15a-neoforge-mc1.21.36 сент. 2026 г.36Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using NeoForge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.15a
1.3.15a-neoforge-mc1.21.16 сент. 2026 г.60,1 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using NeoForge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed broken lighting for Fusion models
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.15a
1.3.15a-neoforge-mc1.20.66 сент. 2026 г.24Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using NeoForge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.15a
1.3.15a-neoforge-mc1.20.46 сент. 2026 г.42Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using NeoForge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.3.15a
1.3.15a-fabric-mc1.21.96 сент. 2026 г.2,2 тыс.Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.15a
1.3.15a-fabric-mc1.21.66 сент. 2026 г.1,2 тыс.Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.15a
1.3.15a-fabric-mc1.21.56 сент. 2026 г.469Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.15a
1.3.15a-fabric-mc1.21.46 сент. 2026 г.912Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_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 block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.15a
1.3.15a-fabric-mc1.21.36 сент. 2026 г.76Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.15a
1.3.15a-fabric-mc1.216 сент. 2026 г.138,6 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.15a
1.3.15a-fabric-mc1.20.66 сент. 2026 г.77Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.15a
1.3.15a-fabric-mc1.20.46 сент. 2026 г.336Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.15a
1.3.15a-fabric-mc1.20.26 сент. 2026 г.53Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.15a
1.3.15a-fabric-mc1.20.16 сент. 2026 г.6,3 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
- Fixed integration with Indium that was accidentally deleted in version 1.3.6
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15a
1.3.15a-fabric-mc1.19.46 сент. 2026 г.90Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15a
1.3.15a-fabric-mc1.19.26 сент. 2026 г.130Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15a
1.3.15a-fabric-mc1.186 сент. 2026 г.97Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15a
1.3.15a-forge-mc1.21.96 сент. 2026 г.103Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
- Fixed crash with Forge 59.0.2 and newer
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.15a
1.3.15a-forge-mc1.21.66 сент. 2026 г.58Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.15a
1.3.15a-forge-mc1.21.56 сент. 2026 г.82Minecraft: 1.21.5forge
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.15a
1.3.15a-forge-mc1.21.46 сент. 2026 г.101Minecraft: 1.21.4forge
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models for blocks targeted by block model modifiers not receiving world context with Sodium
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.15a
1.3.15a-forge-mc1.21.36 сент. 2026 г.11Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.15a
1.3.15a-forge-mc1.216 сент. 2026 г.651Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.15a
1.3.15a-forge-mc1.20.66 сент. 2026 г.25Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.15a
1.3.15a-forge-mc1.20.46 сент. 2026 г.50Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.15a
1.3.15a-forge-mc1.20.16 сент. 2026 г.143,5 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added integration with Oculus to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15a
1.3.15a-forge-mc1.19.46 сент. 2026 г.37Minecraft: 1.19.4forge
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15a
1.3.15a-forge-mc1.19.36 сент. 2026 г.15Minecraft: 1.19.3forge
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15a
1.3.15a-forge-mc1.19.26 сент. 2026 г.536Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15a
1.3.15a-forge-mc1.186 сент. 2026 г.402Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15a
1.3.15a-forge-mc1.176 сент. 2026 г.41Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.3.15a
- Fixed animated textures using incorrect frame index when frames are not in sequential order
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15
1.3.15-neoforge-mc26.23 сент. 2026 г.1,7 тыс.Minecraft: 26.2neoforge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.15
1.3.15-neoforge-mc26.13 сент. 2026 г.2,8 тыс.Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.15
1.3.15-neoforge-mc1.21.113 сент. 2026 г.1,6 тыс.Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.15
1.3.15-neoforge-mc1.21.93 сент. 2026 г.57Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.15
1.3.15-neoforge-mc1.21.83 сент. 2026 г.65Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.15
1.3.15-neoforge-mc1.21.53 сент. 2026 г.31Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.15
1.3.15-neoforge-mc1.21.43 сент. 2026 г.38Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models for blocks targeted by block model modifiers not receiving world context with Sodium
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.3.15
1.3.15-neoforge-mc1.21.33 сент. 2026 г.16Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using NeoForge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.15
1.3.15-neoforge-mc1.21.13 сент. 2026 г.14,3 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using NeoForge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed broken lighting for Fusion models
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.15
1.3.15-neoforge-mc1.20.63 сент. 2026 г.13Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using NeoForge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.15
1.3.15-neoforge-mc1.20.43 сент. 2026 г.42Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using NeoForge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.3.15
1.3.15-fabric-mc26.23 сент. 2026 г.33,1 тыс.Minecraft: 26.2fabric, quilt
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.15
1.3.15-fabric-mc26.13 сент. 2026 г.11 тыс.Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.15
1.3.15-fabric-mc1.21.113 сент. 2026 г.21,8 тыс.Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.15
1.3.15-fabric-mc1.21.93 сент. 2026 г.402Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.15
1.3.15-fabric-mc1.21.63 сент. 2026 г.269Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.15
1.3.15-fabric-mc1.21.53 сент. 2026 г.96Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.15
1.3.15-fabric-mc1.21.43 сент. 2026 г.164Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_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 block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.15
1.3.15-fabric-mc1.21.33 сент. 2026 г.25Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.15
1.3.15-fabric-mc1.212 сент. 2026 г.22,3 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.15
1.3.15-fabric-mc1.20.62 сент. 2026 г.27Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.15
1.3.15-fabric-mc1.20.42 сент. 2026 г.57Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.15
1.3.15-fabric-mc1.20.22 сент. 2026 г.22Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.15
1.3.15-fabric-mc1.20.12 сент. 2026 г.2,1 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
- Fixed integration with Indium that was accidentally deleted in version 1.3.6
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15
1.3.15-fabric-mc1.19.42 сент. 2026 г.37Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15
1.3.15-fabric-mc1.19.22 сент. 2026 г.44Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15
1.3.15-fabric-mc1.182 сент. 2026 г.40Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15
1.3.15-forge-mc26.22 сент. 2026 г.978Minecraft: 26.2forge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.15
1.3.15-forge-mc26.12 сент. 2026 г.1,1 тыс.Minecraft: 26.1, 26.1.1, 26.1.2forge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.15
1.3.15-forge-mc1.21.112 сент. 2026 г.498Minecraft: 1.21.11forge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.15
1.3.15-forge-mc1.21.92 сент. 2026 г.31Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
- Fixed crash with Forge 59.0.2 and newer
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.15
1.3.15-forge-mc1.21.62 сент. 2026 г.22Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.15
1.3.15-forge-mc1.21.52 сент. 2026 г.14Minecraft: 1.21.5forge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.15
1.3.15-forge-mc1.21.42 сент. 2026 г.7Minecraft: 1.21.4forge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models for blocks targeted by block model modifiers not receiving world context with Sodium
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.15
1.3.15-forge-mc1.21.32 сент. 2026 г.6Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.15
1.3.15-forge-mc1.212 сент. 2026 г.210Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.15
1.3.15-forge-mc1.20.62 сент. 2026 г.13Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.15
1.3.15-forge-mc1.20.42 сент. 2026 г.15Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.15
1.3.15-forge-mc1.20.12 сент. 2026 г.6,1 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added integration with Oculus to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15
1.3.15-forge-mc1.19.42 сент. 2026 г.13Minecraft: 1.19.4forge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15
1.3.15-forge-mc1.19.32 сент. 2026 г.5Minecraft: 1.19.3forge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15
1.3.15-forge-mc1.19.22 сент. 2026 г.139Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15
1.3.15-forge-mc1.182 сент. 2026 г.117Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15
1.3.15-forge-mc1.172 сент. 2026 г.9Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15
1.3.15-forge-mc1.162 сент. 2026 г.583Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15
1.3.15-forge-mc1.152 сент. 2026 г.31Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
- Fixed `is_biome` predicate always evaluating to `false` for chunk geometry
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.15
1.3.15-forge-mc1.122 сент. 2026 г.1,7 тыс.Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.3.15
- Fixed `ambientocclusion`, `shade`, and `emissive` model properties not always applying to texture types that have subtextures like `connecting` and `random`
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed block model modifier `pane_culling_fix` not always being able to check pane side connections
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2a
- Fixed crash when rendering terrain particle with `null` sprite
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12c
- Fixed crash without CensoredASM
### Fusion 1.2.12b
- Fixed crash with CensoredASM
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.14a
1.3.14a-neoforge-mc1.21.1124 авг. 2026 г.827Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.14a
1.3.14a-neoforge-mc1.21.924 авг. 2026 г.101Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.14a
1.3.14a-neoforge-mc1.21.824 авг. 2026 г.109Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.14a
1.3.14a-neoforge-mc1.21.524 авг. 2026 г.42Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.14a
1.3.14a-neoforge-mc1.21.424 авг. 2026 г.86Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models for blocks targeted by block model modifiers not receiving world context with Sodium
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.3.14a
1.3.14a-neoforge-mc1.21.324 авг. 2026 г.21Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using NeoForge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.14a
1.3.14a-neoforge-mc1.21.124 авг. 2026 г.43,2 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using NeoForge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed broken lighting for Fusion models
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.14a
1.3.14a-neoforge-mc1.20.624 авг. 2026 г.16Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using NeoForge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.14a
1.3.14a-neoforge-mc1.20.424 авг. 2026 г.38Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.3.14a
- Fixed NeoForge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using NeoForge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.3.14a
1.3.14a-forge-mc1.21.1124 авг. 2026 г.303Minecraft: 1.21.11forge
Что нового
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.14a
1.3.14a-forge-mc1.21.924 авг. 2026 г.83Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
- Fixed crash with Forge 59.0.2 and newer
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.14a
1.3.14a-forge-mc1.21.624 авг. 2026 г.54Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.14a
1.3.14a-forge-mc1.21.524 авг. 2026 г.32Minecraft: 1.21.5forge
Что нового
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.14a
1.3.14a-forge-mc1.21.424 авг. 2026 г.25Minecraft: 1.21.4forge
Что нового
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models for blocks targeted by block model modifiers not receiving world context with Sodium
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.14a
1.3.14a-forge-mc1.21.324 авг. 2026 г.10Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.14a
1.3.14a-forge-mc1.2124 авг. 2026 г.394Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.14a
1.3.14a-forge-mc1.20.624 авг. 2026 г.22Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.14a
1.3.14a-forge-mc1.20.424 авг. 2026 г.50Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.14a
1.3.14a-forge-mc1.20.124 авг. 2026 г.26,8 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added integration with Oculus to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.14a
1.3.14a-forge-mc1.19.424 авг. 2026 г.26Minecraft: 1.19.4forge
Что нового
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.14a
1.3.14a-forge-mc1.19.324 авг. 2026 г.7Minecraft: 1.19.3forge
Что нового
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.14a
1.3.14a-forge-mc1.19.224 авг. 2026 г.392Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.14a
1.3.14a-forge-mc1.1824 авг. 2026 г.325Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.14a
1.3.14a-forge-mc1.1724 авг. 2026 г.24Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.14a
1.3.14a-forge-mc1.1624 авг. 2026 г.270Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.14a
1.3.14a-forge-mc1.1524 авг. 2026 г.26Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
- Fixed modded models using Forge's custom geometry being baked as regular models
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.14a
1.3.14a-forge-mc1.1224 авг. 2026 г.1 тыс.Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.3.14a
- Fixed Forge model `render_type` property making models invisible if there is no other custom render type used
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed block model modifier `pane_culling_fix` not always being able to check pane side connections
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2a
- Fixed crash when rendering terrain particle with `null` sprite
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12c
- Fixed crash without CensoredASM
### Fusion 1.2.12b
- Fixed crash with CensoredASM
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.14
1.3.14-neoforge-mc26.223 авг. 2026 г.2,1 тыс.Minecraft: 26.2neoforge
Что нового
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.14
1.3.14-neoforge-mc26.123 авг. 2026 г.849Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.14
1.3.14-neoforge-mc1.21.1123 авг. 2026 г.48Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.14
1.3.14-neoforge-mc1.21.923 авг. 2026 г.11Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.14
1.3.14-neoforge-mc1.21.823 авг. 2026 г.17Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.14
1.3.14-neoforge-mc1.21.523 авг. 2026 г.6Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.14
1.3.14-neoforge-mc1.21.423 авг. 2026 г.8Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models for blocks targeted by block model modifiers not receiving world context with Sodium
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.3.14
1.3.14-neoforge-mc1.21.323 авг. 2026 г.4Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.14
1.3.14-neoforge-mc1.21.123 авг. 2026 г.3 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed broken lighting for Fusion models
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.14
1.3.14-neoforge-mc1.20.623 авг. 2026 г.5Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.14
1.3.14-neoforge-mc1.20.423 авг. 2026 г.6Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.3.14
1.3.14-fabric-mc26.223 авг. 2026 г.23 тыс.Minecraft: 26.2fabric, quilt
Что нового
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.14
1.3.14-fabric-mc26.123 авг. 2026 г.4,7 тыс.Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Что нового
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.14
1.3.14-fabric-mc1.21.1123 авг. 2026 г.9,6 тыс.Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.14
1.3.14-fabric-mc1.21.923 авг. 2026 г.1,3 тыс.Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.14
1.3.14-fabric-mc1.21.623 авг. 2026 г.636Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.14
1.3.14-fabric-mc1.21.523 авг. 2026 г.204Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.14
1.3.14-fabric-mc1.21.423 авг. 2026 г.430Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_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 block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.14
1.3.14-fabric-mc1.21.323 авг. 2026 г.60Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.14
1.3.14-fabric-mc1.2123 авг. 2026 г.25,4 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.14
1.3.14-fabric-mc1.20.623 авг. 2026 г.52Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.14
1.3.14-fabric-mc1.20.423 авг. 2026 г.240Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.14
1.3.14-fabric-mc1.20.223 авг. 2026 г.50Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.14
1.3.14-fabric-mc1.20.123 авг. 2026 г.5,6 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed crash when Iris PBR texture has empty tiles resulting in a different number of sprites compared to regular texture
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
- Fixed integration with Indium that was accidentally deleted in version 1.3.6
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.14
1.3.14-fabric-mc1.19.423 авг. 2026 г.34Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.14
1.3.14-fabric-mc1.19.223 авг. 2026 г.87Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.14
1.3.14-fabric-mc1.1823 авг. 2026 г.69Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.14
1.3.14-forge-mc26.223 авг. 2026 г.866Minecraft: 26.2forge
Что нового
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.14
1.3.14-forge-mc26.123 авг. 2026 г.458Minecraft: 26.1, 26.1.1, 26.1.2forge
Что нового
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.14
1.3.14-forge-mc1.21.1123 авг. 2026 г.26Minecraft: 1.21.11forge
Что нового
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.14
1.3.14-forge-mc1.21.923 авг. 2026 г.7Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
- Fixed crash with Forge 59.0.2 and newer
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.14
1.3.14-forge-mc1.21.623 авг. 2026 г.6Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.14
1.3.14-forge-mc1.21.523 авг. 2026 г.4Minecraft: 1.21.5forge
Что нового
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.14
1.3.14-forge-mc1.21.423 авг. 2026 г.7Minecraft: 1.21.4forge
Что нового
### Fusion 1.3.14
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models for blocks targeted by block model modifiers not receiving world context with Sodium
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.14
1.3.14-forge-mc1.21.323 авг. 2026 г.7Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.14
1.3.14-forge-mc1.2123 авг. 2026 г.38Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.14
1.3.14-forge-mc1.20.623 авг. 2026 г.6Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.14
1.3.14-forge-mc1.20.423 авг. 2026 г.6Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.14
1.3.14-forge-mc1.20.123 авг. 2026 г.1,6 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.3.14
- Added integration with Oculus to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.14
1.3.14-forge-mc1.19.423 авг. 2026 г.4Minecraft: 1.19.4forge
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.14
1.3.14-forge-mc1.19.323 авг. 2026 г.5Minecraft: 1.19.3forge
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.14
1.3.14-forge-mc1.19.223 авг. 2026 г.35Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.14
1.3.14-forge-mc1.1823 авг. 2026 г.35Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.14
1.3.14-forge-mc1.1723 авг. 2026 г.4Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.14
1.3.14-forge-mc1.1623 авг. 2026 г.21Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.14
1.3.14-forge-mc1.1523 авг. 2026 г.10Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.14
1.3.14-forge-mc1.1223 авг. 2026 г.101Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.3.14
- Added `DefaultModelTypes#BLOCK_ENTITY_MARKER`
- Fixed Fusion models with parent `minecraft:builtin/entity` not being marked as custom item renderer
- Fixed `DefaultModelTypes#ITEM_MODEL_GENERATOR` not being registered
- Fixed default block render type not being included in model render types
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed block model modifier `pane_culling_fix` not always being able to check pane side connections
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2a
- Fixed crash when rendering terrain particle with `null` sprite
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12c
- Fixed crash without CensoredASM
### Fusion 1.2.12b
- Fixed crash with CensoredASM
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.13
1.3.13-neoforge-mc26.220 авг. 2026 г.764Minecraft: 26.2neoforge
Что нового
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.13
1.3.13-neoforge-mc26.120 авг. 2026 г.538Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.13
1.3.13-neoforge-mc1.21.1120 авг. 2026 г.201Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.13
1.3.13-neoforge-mc1.21.920 авг. 2026 г.52Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.13
1.3.13-neoforge-mc1.21.820 авг. 2026 г.45Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed model lighting sometimes being incorrect with Sodium installed due to precision errors when checking whether model transform is limited to rotations of 90 degrees
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.13
1.3.13-neoforge-mc1.21.520 авг. 2026 г.12Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.13
1.3.13-neoforge-mc1.21.420 авг. 2026 г.32Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models for blocks targeted by block model modifiers not receiving world context with Sodium
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.3.13
1.3.13-neoforge-mc1.21.320 авг. 2026 г.11Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.13
1.3.13-neoforge-mc1.21.120 авг. 2026 г.14,2 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed broken lighting for Fusion models
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.13
1.3.13-neoforge-mc1.20.620 авг. 2026 г.7Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.13
1.3.13-neoforge-mc1.20.420 авг. 2026 г.10Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.3.13
1.3.13-fabric-mc26.220 авг. 2026 г.13,7 тыс.Minecraft: 26.2fabric, quilt
Что нового
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.13
1.3.13-fabric-mc26.120 авг. 2026 г.2,1 тыс.Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Что нового
### Fusion 1.3.13
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.13
1.3.13-fabric-mc1.21.1120 авг. 2026 г.3,5 тыс.Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.13
1.3.13-fabric-mc1.21.920 авг. 2026 г.452Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.13
1.3.13-fabric-mc1.21.620 авг. 2026 г.200Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.13
1.3.13-fabric-mc1.21.520 авг. 2026 г.77Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.13
1.3.13-fabric-mc1.21.420 авг. 2026 г.142Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_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 block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.13
1.3.13-fabric-mc1.21.320 авг. 2026 г.27Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.13
1.3.13-fabric-mc1.2120 авг. 2026 г.2,9 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.13
1.3.13-fabric-mc1.20.620 авг. 2026 г.15Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.13
1.3.13-fabric-mc1.20.420 авг. 2026 г.73Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.13
1.3.13-fabric-mc1.20.220 авг. 2026 г.18Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.13
1.3.13-fabric-mc1.20.120 авг. 2026 г.1,8 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Added integration with Iris to intercept normal and specular maps for Fusion textures and handle them as Fusion textures
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
- Fixed integration with Indium that was accidentally deleted in version 1.3.6
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.13
1.3.13-fabric-mc1.19.420 авг. 2026 г.13Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.13
1.3.13-fabric-mc1.19.220 авг. 2026 г.34Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.13
1.3.13-fabric-mc1.1820 авг. 2026 г.40Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
- Added workaround for Sodium's `@Overwrite` breaking any class extending `InterpolationData`
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.13
1.3.13-forge-mc26.220 авг. 2026 г.304Minecraft: 26.2forge
Что нового
### Fusion 1.3.13
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.13
1.3.13-forge-mc26.120 авг. 2026 г.142Minecraft: 26.1, 26.1.1, 26.1.2forge
Что нового
### Fusion 1.3.13
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.13
1.3.13-forge-mc1.21.1120 авг. 2026 г.105Minecraft: 1.21.11forge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.13
1.3.13-forge-mc1.21.920 авг. 2026 г.25Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
- Fixed crash with Forge 59.0.2 and newer
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.13
1.3.13-forge-mc1.21.620 авг. 2026 г.19Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.13
1.3.13-forge-mc1.21.520 авг. 2026 г.11Minecraft: 1.21.5forge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.13
1.3.13-forge-mc1.21.420 авг. 2026 г.14Minecraft: 1.21.4forge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models for blocks targeted by block model modifiers not receiving world context with Sodium
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.13
1.3.13-forge-mc1.21.320 авг. 2026 г.11Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.13
1.3.13-forge-mc1.2120 авг. 2026 г.146Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.13
1.3.13-forge-mc1.20.620 авг. 2026 г.20Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.13
1.3.13-forge-mc1.20.420 авг. 2026 г.17Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.13
1.3.13-forge-mc1.20.120 авг. 2026 г.6,3 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.13
1.3.13-forge-mc1.19.420 авг. 2026 г.14Minecraft: 1.19.4forge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.13
1.3.13-forge-mc1.19.320 авг. 2026 г.5Minecraft: 1.19.3forge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.13
1.3.13-forge-mc1.19.220 авг. 2026 г.179Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.13
1.3.13-forge-mc1.1820 авг. 2026 г.128Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.13
1.3.13-forge-mc1.1720 авг. 2026 г.10Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.13
1.3.13-forge-mc1.1620 авг. 2026 г.105Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.13
1.3.13-forge-mc1.1520 авг. 2026 г.10Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
- Fixed `pane_culling_fix` option making submodels not receive world context
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.13
1.3.13-forge-mc1.1220 авг. 2026 г.345Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.3.13
- Added `TextureType#getBlockStateRenderTypes` which returns the render types that may be used by a texture
- Fixed models without geometry being baked as missing model
- Fixed sub-textures for `random` texture type receiving wrong texture data leading to a crash
- Fixed crash when using `is_face_visible` connection predicate in an item model
- Added a workaround for minimap mods not checking geometry for different render types
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed block model modifier `pane_culling_fix` not always being able to check pane side connections
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2a
- Fixed crash when rendering terrain particle with `null` sprite
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12c
- Fixed crash without CensoredASM
### Fusion 1.2.12b
- Fixed crash with CensoredASM
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.12a
1.3.12a-forge-mc1.21.119 авг. 2026 г.577Minecraft: 1.21.11forge
Что нового
### Fusion 1.3.12a
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.12a
1.3.12a-forge-mc1.21.99 авг. 2026 г.100Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
- Fixed crash with Forge 59.0.2 and newer
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.12a
1.3.12a-forge-mc1.21.69 авг. 2026 г.61Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.12a
1.3.12a-forge-mc1.21.59 авг. 2026 г.54Minecraft: 1.21.5forge
Что нового
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
- Fixed crashes from broken mixins
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.12a
1.3.12a-forge-mc1.21.49 авг. 2026 г.55Minecraft: 1.21.4forge
Что нового
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models for blocks targeted by block model modifiers not receiving world context with Sodium
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.12a
1.3.12a-forge-mc1.21.39 авг. 2026 г.25Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.12a
1.3.12a-forge-mc1.219 авг. 2026 г.713Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.3.12a
- Fixed crash when no other mod provides MixinExtras
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.12
1.3.12-neoforge-mc26.229 июл. 2026 г.4,1 тыс.Minecraft: 26.2neoforge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.12
1.3.12-neoforge-mc26.129 июл. 2026 г.1,7 тыс.Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.12
1.3.12-neoforge-mc1.21.1129 июл. 2026 г.1,4 тыс.Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.12
1.3.12-neoforge-mc1.21.929 июл. 2026 г.203Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.12
1.3.12-neoforge-mc1.21.829 июл. 2026 г.355Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.12
1.3.12-neoforge-mc1.21.529 июл. 2026 г.81Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.12
1.3.12-neoforge-mc1.21.429 июл. 2026 г.197Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models for blocks targeted by block model modifiers not receiving world context with Sodium
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.3.12
1.3.12-neoforge-mc1.21.329 июл. 2026 г.48Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.12
1.3.12-neoforge-mc1.21.129 июл. 2026 г.78,8 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed broken lighting for Fusion models
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.12
1.3.12-neoforge-mc1.20.629 июл. 2026 г.22Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.12
1.3.12-neoforge-mc1.20.429 июл. 2026 г.48Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.3.12
1.3.12-fabric-mc26.229 июл. 2026 г.45,7 тыс.Minecraft: 26.2fabric, quilt
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.12
1.3.12-fabric-mc26.129 июл. 2026 г.11,7 тыс.Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.12
1.3.12-fabric-mc1.21.1129 июл. 2026 г.21,5 тыс.Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.12
1.3.12-fabric-mc1.21.929 июл. 2026 г.3,8 тыс.Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.12
1.3.12-fabric-mc1.21.629 июл. 2026 г.1,5 тыс.Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.12
1.3.12-fabric-mc1.21.529 июл. 2026 г.617Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.12
1.3.12-fabric-mc1.21.429 июл. 2026 г.958Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_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 block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.12
1.3.12-fabric-mc1.21.329 июл. 2026 г.170Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.12
1.3.12-fabric-mc1.2129 июл. 2026 г.17,6 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.12
1.3.12-fabric-mc1.20.629 июл. 2026 г.111Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.12
1.3.12-fabric-mc1.20.429 июл. 2026 г.453Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.12
1.3.12-fabric-mc1.20.229 июл. 2026 г.92Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.12
1.3.12-fabric-mc1.20.129 июл. 2026 г.12,7 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
- Fixed integration with Indium that was accidentally deleted in version 1.3.6
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.12
1.3.12-fabric-mc1.19.429 июл. 2026 г.77Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.12
1.3.12-fabric-mc1.19.229 июл. 2026 г.301Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.12
1.3.12-fabric-mc1.1829 июл. 2026 г.193Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.12
1.3.12-forge-mc26.229 июл. 2026 г.1,9 тыс.Minecraft: 26.2forge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.12
1.3.12-forge-mc26.129 июл. 2026 г.903Minecraft: 26.1, 26.1.1, 26.1.2forge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.12
1.3.12-forge-mc1.21.1129 июл. 2026 г.415Minecraft: 1.21.11forge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.12
1.3.12-forge-mc1.21.929 июл. 2026 г.62Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
- Fixed crash with Forge 59.0.2 and newer
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.12
1.3.12-forge-mc1.21.629 июл. 2026 г.61Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.12
1.3.12-forge-mc1.21.529 июл. 2026 г.32Minecraft: 1.21.5forge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.12
1.3.12-forge-mc1.21.429 июл. 2026 г.37Minecraft: 1.21.4forge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models for blocks targeted by block model modifiers not receiving world context with Sodium
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.12
1.3.12-forge-mc1.21.329 июл. 2026 г.7Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.12
1.3.12-forge-mc1.2129 июл. 2026 г.543Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.12
1.3.12-forge-mc1.20.629 июл. 2026 г.56Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.12
1.3.12-forge-mc1.20.429 июл. 2026 г.103Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.12
1.3.12-forge-mc1.20.129 июл. 2026 г.53,3 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.12
1.3.12-forge-mc1.19.429 июл. 2026 г.55Minecraft: 1.19.4forge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.12
1.3.12-forge-mc1.19.329 июл. 2026 г.14Minecraft: 1.19.3forge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.12
1.3.12-forge-mc1.19.229 июл. 2026 г.1,2 тыс.Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.12
1.3.12-forge-mc1.1829 июл. 2026 г.12,2 тыс.Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.12
1.3.12-forge-mc1.1729 июл. 2026 г.29Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.12
1.3.12-forge-mc1.1629 июл. 2026 г.645Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.12
1.3.12-forge-mc1.1529 июл. 2026 г.41Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.12
1.3.12-forge-mc1.1229 июл. 2026 г.2,5 тыс.Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.3.12
- Fixed `MutableQuad#chunkLayer` not always overwriting flags
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed block model modifier `pane_culling_fix` not always being able to check pane side connections
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2a
- Fixed crash when rendering terrain particle with `null` sprite
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12c
- Fixed crash without CensoredASM
### Fusion 1.2.12b
- Fixed crash with CensoredASM
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.11a
1.3.11a-neoforge-mc26.229 июл. 2026 г.65Minecraft: 26.2neoforge
Что нового
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.11a
1.3.11a-neoforge-mc26.129 июл. 2026 г.43Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.11a
1.3.11a-fabric-mc26.229 июл. 2026 г.855Minecraft: 26.2fabric, quilt
Что нового
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.11a
1.3.11a-fabric-mc26.129 июл. 2026 г.248Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Что нового
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.11a
1.3.11a-forge-mc26.229 июл. 2026 г.28Minecraft: 26.2forge
Что нового
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.11a
1.3.11a-forge-mc26.129 июл. 2026 г.13Minecraft: 26.1, 26.1.1, 26.1.2forge
Что нового
### Fusion 1.3.11a
- Fixed error when baking faces with `null` chunk layer
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.11
1.3.11-neoforge-mc26.229 июл. 2026 г.23Minecraft: 26.2neoforge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.11
1.3.11-neoforge-mc26.129 июл. 2026 г.12Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.11
1.3.11-neoforge-mc1.21.1129 июл. 2026 г.18Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.11
1.3.11-neoforge-mc1.21.929 июл. 2026 г.8Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.11
1.3.11-neoforge-mc1.21.829 июл. 2026 г.11Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.11
1.3.11-neoforge-mc1.21.529 июл. 2026 г.8Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.11
1.3.11-neoforge-mc1.21.429 июл. 2026 г.6Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models for blocks targeted by block model modifiers not receiving world context with Sodium
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.3.11
1.3.11-neoforge-mc1.21.329 июл. 2026 г.4Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.11
1.3.11-neoforge-mc1.21.129 июл. 2026 г.1,3 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed broken lighting for Fusion models
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.11
1.3.11-neoforge-mc1.20.629 июл. 2026 г.8Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.11
1.3.11-neoforge-mc1.20.429 июл. 2026 г.5Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.3.11
1.3.11-fabric-mc26.229 июл. 2026 г.257Minecraft: 26.2fabric, quilt
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.11
1.3.11-fabric-mc26.129 июл. 2026 г.78Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.11
1.3.11-fabric-mc1.21.1129 июл. 2026 г.524Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.11
1.3.11-fabric-mc1.21.929 июл. 2026 г.55Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.11
1.3.11-fabric-mc1.21.629 июл. 2026 г.40Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.11
1.3.11-fabric-mc1.21.529 июл. 2026 г.13Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.11
1.3.11-fabric-mc1.21.429 июл. 2026 г.34Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_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 block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.11
1.3.11-fabric-mc1.21.329 июл. 2026 г.14Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.11
1.3.11-fabric-mc1.2129 июл. 2026 г.270Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.11
1.3.11-fabric-mc1.20.629 июл. 2026 г.7Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.11
1.3.11-fabric-mc1.20.429 июл. 2026 г.10Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.11
1.3.11-fabric-mc1.20.229 июл. 2026 г.10Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.11
1.3.11-fabric-mc1.20.129 июл. 2026 г.279Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
- Fixed integration with Indium that was accidentally deleted in version 1.3.6
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.11
1.3.11-fabric-mc1.19.429 июл. 2026 г.6Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.11
1.3.11-fabric-mc1.19.229 июл. 2026 г.8Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.11
1.3.11-fabric-mc1.1829 июл. 2026 г.4Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.11
1.3.11-forge-mc26.229 июл. 2026 г.17Minecraft: 26.2forge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.11
1.3.11-forge-mc26.129 июл. 2026 г.14Minecraft: 26.1, 26.1.1, 26.1.2forge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.11
1.3.11-forge-mc1.21.1129 июл. 2026 г.16Minecraft: 1.21.11forge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.11
1.3.11-forge-mc1.21.929 июл. 2026 г.10Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
- Fixed crash with Forge 59.0.2 and newer
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.11
1.3.11-forge-mc1.21.629 июл. 2026 г.6Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.11
1.3.11-forge-mc1.21.529 июл. 2026 г.4Minecraft: 1.21.5forge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.11
1.3.11-forge-mc1.21.429 июл. 2026 г.4Minecraft: 1.21.4forge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models for blocks targeted by block model modifiers not receiving world context with Sodium
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.11
1.3.11-forge-mc1.21.329 июл. 2026 г.4Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.11
1.3.11-forge-mc1.2129 июл. 2026 г.22Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.11
1.3.11-forge-mc1.20.629 июл. 2026 г.7Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.11
1.3.11-forge-mc1.20.429 июл. 2026 г.7Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.11
1.3.11-forge-mc1.20.129 июл. 2026 г.637Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.11
1.3.11-forge-mc1.19.429 июл. 2026 г.8Minecraft: 1.19.4forge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.11
1.3.11-forge-mc1.19.329 июл. 2026 г.6Minecraft: 1.19.3forge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.11
1.3.11-forge-mc1.19.229 июл. 2026 г.31Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.11
1.3.11-forge-mc1.1829 июл. 2026 г.25Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.11
1.3.11-forge-mc1.1729 июл. 2026 г.5Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.11
1.3.11-forge-mc1.1629 июл. 2026 г.19Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.11
1.3.11-forge-mc1.1529 июл. 2026 г.7Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.11
1.3.11-forge-mc1.1229 июл. 2026 г.63Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of `MutableQuad`s are now stored as bit flags
- `connecting` textures ignore non-default tiles when predicate is always true or always false
- `connecting` texture sub-texture data is now stored more compactly when some tiles are empty
- When `connecting` texture has no sub-texture, its tiles are initialized lazily
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed block model modifier `pane_culling_fix` not always being able to check pane side connections
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2a
- Fixed crash when rendering terrain particle with `null` sprite
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12c
- Fixed crash without CensoredASM
### Fusion 1.2.12b
- Fixed crash with CensoredASM
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.10
1.3.10-neoforge-mc26.229 июл. 2026 г.140Minecraft: 26.2neoforge
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.10
1.3.10-neoforge-mc26.129 июл. 2026 г.80Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.10
1.3.10-neoforge-mc1.21.1129 июл. 2026 г.63Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.10
1.3.10-neoforge-mc1.21.929 июл. 2026 г.15Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.10
1.3.10-neoforge-mc1.21.829 июл. 2026 г.18Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.10
1.3.10-neoforge-mc1.21.529 июл. 2026 г.4Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.10
1.3.10-neoforge-mc1.21.429 июл. 2026 г.15Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models for blocks targeted by block model modifiers not receiving world context with Sodium
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.3.10
1.3.10-neoforge-mc1.21.329 июл. 2026 г.8Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.10
1.3.10-neoforge-mc1.21.129 июл. 2026 г.3,8 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed broken lighting for Fusion models
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.10
1.3.10-neoforge-mc1.20.629 июл. 2026 г.6Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.10
1.3.10-neoforge-mc1.20.429 июл. 2026 г.9Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.3.10
1.3.10-fabric-mc26.229 июл. 2026 г.1,8 тыс.Minecraft: 26.2fabric, quilt
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.10
1.3.10-fabric-mc26.129 июл. 2026 г.459Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.10
1.3.10-fabric-mc1.21.1129 июл. 2026 г.942Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.10
1.3.10-fabric-mc1.21.929 июл. 2026 г.85Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.10
1.3.10-fabric-mc1.21.629 июл. 2026 г.119Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.10
1.3.10-fabric-mc1.21.529 июл. 2026 г.20Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.10
1.3.10-fabric-mc1.21.429 июл. 2026 г.42Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_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 block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.10
1.3.10-fabric-mc1.21.329 июл. 2026 г.16Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.10
1.3.10-fabric-mc1.2129 июл. 2026 г.552Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.10
1.3.10-fabric-mc1.20.629 июл. 2026 г.5Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.10
1.3.10-fabric-mc1.20.429 июл. 2026 г.20Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.10
1.3.10-fabric-mc1.20.229 июл. 2026 г.8Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.10
1.3.10-fabric-mc1.20.129 июл. 2026 г.476Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
- Fixed integration with Indium that was accidentally deleted in version 1.3.6
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.10
1.3.10-fabric-mc1.19.429 июл. 2026 г.7Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.10
1.3.10-fabric-mc1.19.229 июл. 2026 г.17Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.10
1.3.10-fabric-mc1.1829 июл. 2026 г.23Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models sometimes failing to load with ModernFix' `dynamic_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.10
1.3.10-forge-mc26.229 июл. 2026 г.60Minecraft: 26.2forge
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.10
1.3.10-forge-mc26.129 июл. 2026 г.32Minecraft: 26.1, 26.1.1, 26.1.2forge
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.10
1.3.10-forge-mc1.21.1129 июл. 2026 г.33Minecraft: 1.21.11forge
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.10
1.3.10-forge-mc1.21.929 июл. 2026 г.13Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
- Fixed crash with Forge 59.0.2 and newer
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.10
1.3.10-forge-mc1.21.629 июл. 2026 г.11Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.10
1.3.10-forge-mc1.21.529 июл. 2026 г.8Minecraft: 1.21.5forge
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.10
1.3.10-forge-mc1.21.429 июл. 2026 г.8Minecraft: 1.21.4forge
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
- Fixed models for blocks targeted by block model modifiers not receiving world context with Sodium
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.10
1.3.10-forge-mc1.21.329 июл. 2026 г.6Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.10
1.3.10-forge-mc1.2129 июл. 2026 г.30Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.10
1.3.10-forge-mc1.20.629 июл. 2026 г.5Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.10
1.3.10-forge-mc1.20.429 июл. 2026 г.12Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.10
1.3.10-forge-mc1.20.129 июл. 2026 г.1,9 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.10
1.3.10-forge-mc1.19.429 июл. 2026 г.6Minecraft: 1.19.4forge
Что нового
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.10
1.3.10-forge-mc1.19.329 июл. 2026 г.5Minecraft: 1.19.3forge
Что нового
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.10
1.3.10-forge-mc1.19.229 июл. 2026 г.49Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.10
1.3.10-forge-mc1.1829 июл. 2026 г.32Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.10
1.3.10-forge-mc1.1729 июл. 2026 г.6Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.10
1.3.10-forge-mc1.1629 июл. 2026 г.31Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.10
1.3.10-forge-mc1.1529 июл. 2026 г.5Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) 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_resources` option
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.10
1.3.10-forge-mc1.1229 июл. 2026 г.136Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.3.10
- Fixed model item transforms (`display` property) translations not being scaled by 1/16th
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed block model modifier `pane_culling_fix` not always being able to check pane side connections
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2a
- Fixed crash when rendering terrain particle with `null` sprite
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12c
- Fixed crash without CensoredASM
### Fusion 1.2.12b
- Fixed crash with CensoredASM
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.9
1.3.9-neoforge-mc26.221 июл. 2026 г.1,5 тыс.Minecraft: 26.2neoforge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.9
1.3.9-neoforge-mc26.121 июл. 2026 г.635Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.9
1.3.9-neoforge-mc1.21.1121 июл. 2026 г.596Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.9
1.3.9-neoforge-mc1.21.921 июл. 2026 г.121Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.9
1.3.9-neoforge-mc1.21.821 июл. 2026 г.115Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.9
1.3.9-neoforge-mc1.21.521 июл. 2026 г.34Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.9
1.3.9-neoforge-mc1.21.421 июл. 2026 г.80Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.3.9
1.3.9-neoforge-mc1.21.321 июл. 2026 г.22Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.9
1.3.9-neoforge-mc1.21.121 июл. 2026 г.34,2 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed broken lighting for Fusion models
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.9
1.3.9-neoforge-mc1.20.621 июл. 2026 г.18Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.9
1.3.9-neoforge-mc1.20.421 июл. 2026 г.23Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.3.9
1.3.9-fabric-mc26.221 июл. 2026 г.15,8 тыс.Minecraft: 26.2fabric, quilt
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.9
1.3.9-fabric-mc26.121 июл. 2026 г.4,6 тыс.Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.9
1.3.9-fabric-mc1.21.1121 июл. 2026 г.9,4 тыс.Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.9
1.3.9-fabric-mc1.21.921 июл. 2026 г.989Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.9
1.3.9-fabric-mc1.21.621 июл. 2026 г.680Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.9
1.3.9-fabric-mc1.21.521 июл. 2026 г.224Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.9
1.3.9-fabric-mc1.21.421 июл. 2026 г.368Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_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 block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.9
1.3.9-fabric-mc1.21.321 июл. 2026 г.61Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.9
1.3.9-fabric-mc1.2121 июл. 2026 г.10,8 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.9
1.3.9-fabric-mc1.20.621 июл. 2026 г.58Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.9
1.3.9-fabric-mc1.20.421 июл. 2026 г.217Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.9
1.3.9-fabric-mc1.20.221 июл. 2026 г.38Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.9
1.3.9-fabric-mc1.20.121 июл. 2026 г.4,7 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.9
1.3.9-fabric-mc1.19.421 июл. 2026 г.38Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.9
1.3.9-fabric-mc1.19.221 июл. 2026 г.98Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.9
1.3.9-fabric-mc1.1821 июл. 2026 г.85Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.9
1.3.9-forge-mc26.221 июл. 2026 г.657Minecraft: 26.2forge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.9
1.3.9-forge-mc26.121 июл. 2026 г.368Minecraft: 26.1, 26.1.1, 26.1.2forge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.9
1.3.9-forge-mc1.21.1121 июл. 2026 г.237Minecraft: 1.21.11forge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.9
1.3.9-forge-mc1.21.921 июл. 2026 г.63Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
- Fixed crash with Forge 59.0.2 and newer
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.9
1.3.9-forge-mc1.21.621 июл. 2026 г.65Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.9
1.3.9-forge-mc1.21.521 июл. 2026 г.26Minecraft: 1.21.5forge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.9
1.3.9-forge-mc1.21.421 июл. 2026 г.40Minecraft: 1.21.4forge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.9
1.3.9-forge-mc1.21.321 июл. 2026 г.7Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.9
1.3.9-forge-mc1.2121 июл. 2026 г.354Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.9
1.3.9-forge-mc1.20.621 июл. 2026 г.26Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.9
1.3.9-forge-mc1.20.421 июл. 2026 г.37Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.9
1.3.9-forge-mc1.20.121 июл. 2026 г.24 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.9
1.3.9-forge-mc1.19.421 июл. 2026 г.41Minecraft: 1.19.4forge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.9
1.3.9-forge-mc1.19.321 июл. 2026 г.12Minecraft: 1.19.3forge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.9
1.3.9-forge-mc1.19.221 июл. 2026 г.483Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.9
1.3.9-forge-mc1.1821 июл. 2026 г.313Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.9
1.3.9-forge-mc1.1721 июл. 2026 г.12Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.9
1.3.9-forge-mc1.1621 июл. 2026 г.365Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.9
1.3.9-forge-mc1.1521 июл. 2026 г.24Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.9
1.3.9-forge-mc1.1221 июл. 2026 г.980Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.3.9
- Fixed `dimension` block model predicate not working for chunk geometry
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed block model modifier `pane_culling_fix` not always being able to check pane side connections
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2a
- Fixed crash when rendering terrain particle with `null` sprite
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12c
- Fixed crash without CensoredASM
### Fusion 1.2.12b
- Fixed crash with CensoredASM
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.8
1.3.8-neoforge-mc26.219 июл. 2026 г.454Minecraft: 26.2neoforge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.8
1.3.8-neoforge-mc26.119 июл. 2026 г.233Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.8
1.3.8-neoforge-mc1.21.1119 июл. 2026 г.228Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.8
1.3.8-neoforge-mc1.21.919 июл. 2026 г.51Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.8
1.3.8-neoforge-mc1.21.819 июл. 2026 г.44Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.8
1.3.8-neoforge-mc1.21.519 июл. 2026 г.12Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.8
1.3.8-neoforge-mc1.21.419 июл. 2026 г.29Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.3.8
1.3.8-neoforge-mc1.21.319 июл. 2026 г.13Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.8
1.3.8-neoforge-mc1.21.119 июл. 2026 г.12 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed broken lighting for Fusion models
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.8
1.3.8-neoforge-mc1.20.619 июл. 2026 г.5Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.8
1.3.8-neoforge-mc1.20.419 июл. 2026 г.13Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.3.8
1.3.8-fabric-mc26.219 июл. 2026 г.5,5 тыс.Minecraft: 26.2fabric, quilt
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.8
1.3.8-fabric-mc26.119 июл. 2026 г.1,6 тыс.Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.8
1.3.8-fabric-mc1.21.1119 июл. 2026 г.3,4 тыс.Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.8
1.3.8-fabric-mc1.21.919 июл. 2026 г.362Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.8
1.3.8-fabric-mc1.21.619 июл. 2026 г.216Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.8
1.3.8-fabric-mc1.21.519 июл. 2026 г.72Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.8
1.3.8-fabric-mc1.21.419 июл. 2026 г.135Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_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 block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.8
1.3.8-fabric-mc1.21.319 июл. 2026 г.20Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.8
1.3.8-fabric-mc1.2119 июл. 2026 г.2,2 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.8
1.3.8-fabric-mc1.20.619 июл. 2026 г.17Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.8
1.3.8-fabric-mc1.20.419 июл. 2026 г.74Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.8
1.3.8-fabric-mc1.20.219 июл. 2026 г.13Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.8
1.3.8-fabric-mc1.20.119 июл. 2026 г.1,3 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.8
1.3.8-fabric-mc1.19.419 июл. 2026 г.17Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.8
1.3.8-fabric-mc1.19.219 июл. 2026 г.56Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.8
1.3.8-fabric-mc1.1819 июл. 2026 г.13Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.8
1.3.8-forge-mc26.219 июл. 2026 г.189Minecraft: 26.2forge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.8
1.3.8-forge-mc26.119 июл. 2026 г.103Minecraft: 26.1, 26.1.1, 26.1.2forge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture type as a sub texture for other texture types
- Fixed texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed quad material cache not being invalidated when copying quad properties leading to incorrect material properties
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.8
1.3.8-forge-mc1.21.1119 июл. 2026 г.93Minecraft: 1.21.11forge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
- Fixed Sodium preventing Fusion animated textures from animating
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.8
1.3.8-forge-mc1.21.919 июл. 2026 г.21Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
- Fixed crash with Forge 59.0.2 and newer
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.8
1.3.8-forge-mc1.21.619 июл. 2026 г.20Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.8
1.3.8-forge-mc1.21.519 июл. 2026 г.13Minecraft: 1.21.5forge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed crash when breaking a block targeted by a block model modifier
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.8
1.3.8-forge-mc1.21.419 июл. 2026 г.12Minecraft: 1.21.4forge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.8
1.3.8-forge-mc1.21.319 июл. 2026 г.13Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.8
1.3.8-forge-mc1.2119 июл. 2026 г.133Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.8
1.3.8-forge-mc1.20.619 июл. 2026 г.16Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.8
1.3.8-forge-mc1.20.419 июл. 2026 г.17Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.8
1.3.8-forge-mc1.20.119 июл. 2026 г.17,9 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.8
1.3.8-forge-mc1.19.419 июл. 2026 г.34Minecraft: 1.19.4forge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.8
1.3.8-forge-mc1.19.319 июл. 2026 г.12Minecraft: 1.19.3forge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.8
1.3.8-forge-mc1.19.219 июл. 2026 г.141Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.8
1.3.8-forge-mc1.1819 июл. 2026 г.105Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.8
1.3.8-forge-mc1.1719 июл. 2026 г.11Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.8
1.3.8-forge-mc1.1619 июл. 2026 г.109Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.8
1.3.8-forge-mc1.1519 июл. 2026 г.15Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.8
1.3.8-forge-mc1.1219 июл. 2026 г.323Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.3.8
- Fixed crash when using `continuous` texture 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 texture dependencies for composite model not always being loaded
- Fixed block model modifier `pane_culling_fix` not always being able to check pane side connections
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2a
- Fixed crash when rendering terrain particle with `null` sprite
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12c
- Fixed crash without CensoredASM
### Fusion 1.2.12b
- Fixed crash with CensoredASM
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.7
1.3.7-neoforge-mc26.217 июл. 2026 г.277Minecraft: 26.2neoforge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.7
1.3.7-neoforge-mc26.117 июл. 2026 г.146Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.7
1.3.7-neoforge-mc1.21.1117 июл. 2026 г.133Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.7
1.3.7-neoforge-mc1.21.917 июл. 2026 г.25Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.7
1.3.7-neoforge-mc1.21.817 июл. 2026 г.41Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.7
1.3.7-neoforge-mc1.21.517 июл. 2026 г.9Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.7
1.3.7-neoforge-mc1.21.417 июл. 2026 г.24Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.3.7
1.3.7-neoforge-mc1.21.317 июл. 2026 г.12Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.7
1.3.7-neoforge-mc1.21.117 июл. 2026 г.30,2 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed broken lighting for Fusion models
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.7
1.3.7-neoforge-mc1.20.617 июл. 2026 г.3Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.7
1.3.7-neoforge-mc1.20.417 июл. 2026 г.13Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.3.7
1.3.7-fabric-mc26.217 июл. 2026 г.3,4 тыс.Minecraft: 26.2fabric, quilt
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.7
1.3.7-fabric-mc26.117 июл. 2026 г.1,2 тыс.Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.7
1.3.7-fabric-mc1.21.1117 июл. 2026 г.2,7 тыс.Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.7
1.3.7-fabric-mc1.21.917 июл. 2026 г.240Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.7
1.3.7-fabric-mc1.21.617 июл. 2026 г.168Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.7
1.3.7-fabric-mc1.21.517 июл. 2026 г.43Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.7
1.3.7-fabric-mc1.21.417 июл. 2026 г.111Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_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 block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.7
1.3.7-fabric-mc1.21.317 июл. 2026 г.17Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.7
1.3.7-fabric-mc1.2117 июл. 2026 г.1,8 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.7
1.3.7-fabric-mc1.20.617 июл. 2026 г.10Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.7
1.3.7-fabric-mc1.20.417 июл. 2026 г.34Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.7
1.3.7-fabric-mc1.20.217 июл. 2026 г.16Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.7
1.3.7-fabric-mc1.20.117 июл. 2026 г.929Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.7
1.3.7-fabric-mc1.19.417 июл. 2026 г.10Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.7
1.3.7-fabric-mc1.19.217 июл. 2026 г.17Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.7
1.3.7-fabric-mc1.1817 июл. 2026 г.23Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.7
1.3.7-forge-mc26.217 июл. 2026 г.128Minecraft: 26.2forge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.7
1.3.7-forge-mc26.117 июл. 2026 г.83Minecraft: 26.1, 26.1.1, 26.1.2forge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.7
1.3.7-forge-mc1.21.1117 июл. 2026 г.61Minecraft: 1.21.11forge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.7
1.3.7-forge-mc1.21.917 июл. 2026 г.13Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
- Fixed crash with Forge 59.0.2 and newer
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.7
1.3.7-forge-mc1.21.617 июл. 2026 г.10Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.7
1.3.7-forge-mc1.21.517 июл. 2026 г.10Minecraft: 1.21.5forge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.7
1.3.7-forge-mc1.21.417 июл. 2026 г.7Minecraft: 1.21.4forge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.7
1.3.7-forge-mc1.21.317 июл. 2026 г.7Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.7
1.3.7-forge-mc1.2117 июл. 2026 г.74Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.7
1.3.7-forge-mc1.20.617 июл. 2026 г.8Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.7
1.3.7-forge-mc1.20.417 июл. 2026 г.18Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.7
1.3.7-forge-mc1.20.117 июл. 2026 г.4,1 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.7
1.3.7-forge-mc1.19.417 июл. 2026 г.12Minecraft: 1.19.4forge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.7
1.3.7-forge-mc1.19.317 июл. 2026 г.7Minecraft: 1.19.3forge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.7
1.3.7-forge-mc1.19.217 июл. 2026 г.112Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.7
1.3.7-forge-mc1.1817 июл. 2026 г.81Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.7
1.3.7-forge-mc1.1717 июл. 2026 г.5Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.7
1.3.7-forge-mc1.1617 июл. 2026 г.111Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.7
1.3.7-forge-mc1.1517 июл. 2026 г.6Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.7
1.3.7-forge-mc1.1217 июл. 2026 г.185Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2a
- Fixed crash when rendering terrain particle with `null` sprite
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12c
- Fixed crash without CensoredASM
### Fusion 1.2.12b
- Fixed crash with CensoredASM
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.6
1.3.6-neoforge-mc26.217 июл. 2026 г.73Minecraft: 26.2neoforge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.6
1.3.6-neoforge-mc26.117 июл. 2026 г.33Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.6
1.3.6-neoforge-mc1.21.1117 июл. 2026 г.34Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.6
1.3.6-neoforge-mc1.21.917 июл. 2026 г.10Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.6
1.3.6-neoforge-mc1.21.817 июл. 2026 г.15Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.6
1.3.6-neoforge-mc1.21.517 июл. 2026 г.9Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.6
1.3.6-neoforge-mc1.21.417 июл. 2026 г.7Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.3.6
1.3.6-neoforge-mc1.21.317 июл. 2026 г.5Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.6
1.3.6-neoforge-mc1.21.117 июл. 2026 г.1,3 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed broken lighting for Fusion models
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.6
1.3.6-neoforge-mc1.20.617 июл. 2026 г.6Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.6
1.3.6-neoforge-mc1.20.417 июл. 2026 г.5Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.3.6
1.3.6-fabric-mc26.217 июл. 2026 г.742Minecraft: 26.2fabric, quilt
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.6
1.3.6-fabric-mc26.117 июл. 2026 г.283Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.6
1.3.6-fabric-mc1.21.1117 июл. 2026 г.572Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.6
1.3.6-fabric-mc1.21.917 июл. 2026 г.58Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.6
1.3.6-fabric-mc1.21.617 июл. 2026 г.38Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.6
1.3.6-fabric-mc1.21.517 июл. 2026 г.13Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.6
1.3.6-fabric-mc1.21.417 июл. 2026 г.30Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_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 block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.6
1.3.6-fabric-mc1.21.317 июл. 2026 г.8Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.6
1.3.6-fabric-mc1.2117 июл. 2026 г.278Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.6
1.3.6-fabric-mc1.20.617 июл. 2026 г.6Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.6
1.3.6-fabric-mc1.20.417 июл. 2026 г.21Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.6
1.3.6-fabric-mc1.20.217 июл. 2026 г.4Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.6
1.3.6-fabric-mc1.20.117 июл. 2026 г.212Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.6
1.3.6-fabric-mc1.19.417 июл. 2026 г.6Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.6
1.3.6-fabric-mc1.19.217 июл. 2026 г.9Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.6
1.3.6-fabric-mc1.1817 июл. 2026 г.9Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.6
1.3.6-forge-mc26.217 июл. 2026 г.33Minecraft: 26.2forge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.6
1.3.6-forge-mc26.117 июл. 2026 г.26Minecraft: 26.1, 26.1.1, 26.1.2forge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.6
1.3.6-forge-mc1.21.1117 июл. 2026 г.24Minecraft: 1.21.11forge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.6
1.3.6-forge-mc1.21.917 июл. 2026 г.13Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.6
1.3.6-forge-mc1.21.617 июл. 2026 г.12Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.6
1.3.6-forge-mc1.21.517 июл. 2026 г.7Minecraft: 1.21.5forge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- Fixed `composite` model parents not being loaded
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.6
1.3.6-forge-mc1.21.417 июл. 2026 г.6Minecraft: 1.21.4forge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.6
1.3.6-forge-mc1.21.317 июл. 2026 г.8Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_state`
- Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed any model with a `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.6
1.3.6-forge-mc1.2117 июл. 2026 г.22Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.6
1.3.6-forge-mc1.20.617 июл. 2026 г.6Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.6
1.3.6-forge-mc1.20.417 июл. 2026 г.13Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.6
1.3.6-forge-mc1.20.117 июл. 2026 г.769Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.6
1.3.6-forge-mc1.19.417 июл. 2026 г.7Minecraft: 1.19.4forge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.6
1.3.6-forge-mc1.19.317 июл. 2026 г.6Minecraft: 1.19.3forge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
- 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_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.6
1.3.6-forge-mc1.19.217 июл. 2026 г.40Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge `render_type` property not working for `cuboid` models
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.6
1.3.6-forge-mc1.1817 июл. 2026 г.21Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.6
1.3.6-forge-mc1.1717 июл. 2026 г.4Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.6
1.3.6-forge-mc1.1617 июл. 2026 г.33Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.6
1.3.6-forge-mc1.1517 июл. 2026 г.8Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.6
1.3.6-forge-mc1.1217 июл. 2026 г.67Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.3.6
- Added `random_offset` property for block model modifier model entries to overwrite hardcoded block random offsets
- Improved randomness of `random` texture type
- Significantly reduced memory footprint of `MutableQuad`s and thus models from Fusion
- Fixed item model modifiers always using the default model's transforms
- Fixed `match_state_in_front` behaving as `match_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 `cuboid` parent being baked as a `cuboid` model
- Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed crash for composite models with a model series without a default
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2a
- Fixed crash when rendering terrain particle with `null` sprite
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12c
- Fixed crash without CensoredASM
### Fusion 1.2.12b
- Fixed crash with CensoredASM
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.5
1.3.5-neoforge-mc26.21 июл. 2026 г.2,1 тыс.Minecraft: 26.2neoforge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.5
1.3.5-neoforge-mc26.11 июл. 2026 г.977Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.5
1.3.5-neoforge-mc1.21.111 июл. 2026 г.1,1 тыс.Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.5
1.3.5-neoforge-mc1.21.91 июл. 2026 г.179Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.5
1.3.5-neoforge-mc1.21.81 июл. 2026 г.269Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.5
1.3.5-neoforge-mc1.21.51 июл. 2026 г.99Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.5
1.3.5-neoforge-mc1.21.41 июл. 2026 г.132Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.3.5
1.3.5-neoforge-mc1.21.31 июл. 2026 г.51Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.5
1.3.5-neoforge-mc1.21.11 июл. 2026 г.68,9 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed broken lighting for Fusion models
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.5
1.3.5-neoforge-mc1.20.61 июл. 2026 г.21Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.5
1.3.5-fabric-mc26.21 июл. 2026 г.20,9 тыс.Minecraft: 26.2fabric, quilt
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.5
1.3.5-neoforge-mc1.20.41 июл. 2026 г.43Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.3.5
1.3.5-fabric-mc26.11 июл. 2026 г.8,9 тыс.Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.5
1.3.5-fabric-mc1.21.111 июл. 2026 г.17,8 тыс.Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.5
1.3.5-fabric-mc1.21.91 июл. 2026 г.2,2 тыс.Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.5
1.3.5-fabric-mc1.21.61 июл. 2026 г.1,3 тыс.Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.5
1.3.5-fabric-mc1.21.51 июл. 2026 г.389Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.5
1.3.5-fabric-mc1.21.41 июл. 2026 г.689Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.5
1.3.5-fabric-mc1.21.31 июл. 2026 г.103Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.5
1.3.5-fabric-mc1.211 июл. 2026 г.220,2 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.5
1.3.5-fabric-mc1.20.61 июл. 2026 г.89Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.5
1.3.5-fabric-mc1.20.41 июл. 2026 г.367Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.5
1.3.5-fabric-mc1.20.21 июл. 2026 г.76Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.5
1.3.5-fabric-mc1.20.11 июл. 2026 г.8,9 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.5
1.3.5-fabric-mc1.19.41 июл. 2026 г.64Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.5
1.3.5-fabric-mc1.19.21 июл. 2026 г.243Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.5
1.3.5-fabric-mc1.181 июл. 2026 г.133Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.5
1.3.5-forge-mc26.21 июл. 2026 г.699Minecraft: 26.2forge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.5
1.3.5-forge-mc26.11 июл. 2026 г.492Minecraft: 26.1, 26.1.1, 26.1.2forge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.5
1.3.5-forge-mc1.21.111 июл. 2026 г.533Minecraft: 1.21.11forge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.5
1.3.5-forge-mc1.21.91 июл. 2026 г.104Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.5
1.3.5-forge-mc1.21.61 июл. 2026 г.83Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.5
1.3.5-forge-mc1.21.51 июл. 2026 г.41Minecraft: 1.21.5forge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed vanilla uv-lock handling breaking for model transforms that translate or scale the model
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.5
1.3.5-forge-mc1.21.41 июл. 2026 г.51Minecraft: 1.21.4forge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.5
1.3.5-forge-mc1.21.31 июл. 2026 г.20Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.5
1.3.5-forge-mc1.211 июл. 2026 г.666Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.5
1.3.5-forge-mc1.20.61 июл. 2026 г.30Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.5
1.3.5-forge-mc1.20.41 июл. 2026 г.89Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.5
1.3.5-forge-mc1.20.11 июл. 2026 г.79,6 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.5
1.3.5-forge-mc1.19.41 июл. 2026 г.49Minecraft: 1.19.4forge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.5
1.3.5-forge-mc1.19.31 июл. 2026 г.19Minecraft: 1.19.3forge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.5
1.3.5-forge-mc1.19.21 июл. 2026 г.1,5 тыс.Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.5
1.3.5-forge-mc1.181 июл. 2026 г.785Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Added workaround for Sodium breaking animated texture interpolation
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.5
1.3.5-forge-mc1.171 июл. 2026 г.19Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.5
1.3.5-forge-mc1.161 июл. 2026 г.512Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.5
1.3.5-forge-mc1.151 июл. 2026 г.22Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
- Fixed interpolation of animated textures always showing the first frame
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.5
1.3.5-forge-mc1.141 июл. 2026 г.291Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.5
1.3.5-forge-mc1.121 июл. 2026 г.1,9 тыс.Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.3.5
- Directional model predicates, i.e. `match_block` and `match_state`, are now rotated along with `composite` model 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 (`display` property) for Fusion models
- Fixed `match_block`, `match_state` model predicates and `match_block`, `match_state`, `match_block_in_front`, `match_state_in_front` connection predicates only using the last block from the `blocks` array property
- Fixed origin being offset for `composite` model transforms
- Fixed composition order of `composite` model transforms with blockstate file transforms
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2a
- Fixed crash when rendering terrain particle with `null` sprite
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12c
- Fixed crash without CensoredASM
### Fusion 1.2.12b
- Fixed crash with CensoredASM
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.4
1.3.4-neoforge-mc26.227 июн. 2026 г.419Minecraft: 26.2neoforge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.4
1.3.4-neoforge-mc26.127 июн. 2026 г.279Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.4
1.3.4-neoforge-mc1.21.1127 июн. 2026 г.360Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.4
1.3.4-neoforge-mc1.21.927 июн. 2026 г.59Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.4
1.3.4-neoforge-mc1.21.827 июн. 2026 г.100Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.4
1.3.4-neoforge-mc1.21.527 июн. 2026 г.25Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.4
1.3.4-neoforge-mc1.21.427 июн. 2026 г.46Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.3.4
1.3.4-neoforge-mc1.21.327 июн. 2026 г.16Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.4
1.3.4-neoforge-mc1.21.127 июн. 2026 г.17,1 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed broken lighting for Fusion models
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.4
1.3.4-neoforge-mc1.20.627 июн. 2026 г.14Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.4
1.3.4-neoforge-mc1.20.427 июн. 2026 г.10Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.3.4
1.3.4-fabric-mc26.227 июн. 2026 г.4,4 тыс.Minecraft: 26.2fabric, quilt
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.4
1.3.4-fabric-mc26.127 июн. 2026 г.2,3 тыс.Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.4
1.3.4-fabric-mc1.21.1127 июн. 2026 г.7,5 тыс.Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.4
1.3.4-fabric-mc1.21.927 июн. 2026 г.690Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.4
1.3.4-fabric-mc1.21.627 июн. 2026 г.438Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.4
1.3.4-fabric-mc1.21.527 июн. 2026 г.143Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.4
1.3.4-fabric-mc1.21.427 июн. 2026 г.226Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.4
1.3.4-fabric-mc1.21.327 июн. 2026 г.33Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.4
1.3.4-fabric-mc1.2127 июн. 2026 г.9,5 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.4
1.3.4-fabric-mc1.20.627 июн. 2026 г.29Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.4
1.3.4-fabric-mc1.20.427 июн. 2026 г.102Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.4
1.3.4-fabric-mc1.20.227 июн. 2026 г.20Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.4
1.3.4-fabric-mc1.20.127 июн. 2026 г.2,6 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.4
1.3.4-fabric-mc1.19.427 июн. 2026 г.17Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.4
1.3.4-fabric-mc1.19.227 июн. 2026 г.76Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.4
1.3.4-fabric-mc1.1827 июн. 2026 г.39Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.4
1.3.4-forge-mc26.227 июн. 2026 г.105Minecraft: 26.2forge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.4
1.3.4-forge-mc26.127 июн. 2026 г.116Minecraft: 26.1, 26.1.1, 26.1.2forge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.4
1.3.4-forge-mc1.21.1127 июн. 2026 г.156Minecraft: 1.21.11forge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.4
1.3.4-forge-mc1.21.927 июн. 2026 г.39Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.4
1.3.4-forge-mc1.21.627 июн. 2026 г.21Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.4
1.3.4-forge-mc1.21.527 июн. 2026 г.12Minecraft: 1.21.5forge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.4
1.3.4-forge-mc1.21.427 июн. 2026 г.16Minecraft: 1.21.4forge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.4
1.3.4-forge-mc1.21.327 июн. 2026 г.8Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.4
1.3.4-forge-mc1.2127 июн. 2026 г.195Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.4
1.3.4-forge-mc1.20.627 июн. 2026 г.20Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.4
1.3.4-forge-mc1.20.427 июн. 2026 г.21Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.4
1.3.4-forge-mc1.20.127 июн. 2026 г.21,1 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.4
1.3.4-forge-mc1.19.427 июн. 2026 г.29Minecraft: 1.19.4forge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.4
1.3.4-forge-mc1.19.327 июн. 2026 г.9Minecraft: 1.19.3forge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.4
1.3.4-forge-mc1.19.227 июн. 2026 г.268Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.4
1.3.4-forge-mc1.1827 июн. 2026 г.213Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.4
1.3.4-forge-mc1.1727 июн. 2026 г.12Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.4
1.3.4-forge-mc1.1627 июн. 2026 г.144Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.4
1.3.4-forge-mc1.1527 июн. 2026 г.12Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.4
1.3.4-forge-mc1.1427 июн. 2026 г.20Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.4
1.3.4-forge-mc1.1227 июн. 2026 г.542Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.3.4
- Fixed threading issue with `match_block` and `match_state` block 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`, and `match_state` block predicates
### Fusion 1.3.2a
- Fixed crash when rendering terrain particle with `null` sprite
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12c
- Fixed crash without CensoredASM
### Fusion 1.2.12b
- Fixed crash with CensoredASM
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.3
1.3.3-neoforge-mc26.224 июн. 2026 г.248Minecraft: 26.2neoforge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.3
1.3.3-neoforge-mc26.124 июн. 2026 г.166Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.3
1.3.3-neoforge-mc1.21.1124 июн. 2026 г.218Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.3
1.3.3-neoforge-mc1.21.924 июн. 2026 г.32Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.3
1.3.3-neoforge-mc1.21.824 июн. 2026 г.46Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.3
1.3.3-neoforge-mc1.21.524 июн. 2026 г.18Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.3
1.3.3-neoforge-mc1.21.424 июн. 2026 г.31Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.3.3
1.3.3-neoforge-mc1.21.324 июн. 2026 г.9Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.3
1.3.3-neoforge-mc1.21.124 июн. 2026 г.10,6 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed broken lighting for Fusion models
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.3
1.3.3-neoforge-mc1.20.624 июн. 2026 г.8Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.3
1.3.3-neoforge-mc1.20.424 июн. 2026 г.18Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.3.3
1.3.3-fabric-mc26.224 июн. 2026 г.2,7 тыс.Minecraft: 26.2fabric, quilt
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.3
1.3.3-fabric-mc26.124 июн. 2026 г.1,5 тыс.Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.3
1.3.3-fabric-mc1.21.1124 июн. 2026 г.4,8 тыс.Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.3
1.3.3-fabric-mc1.21.924 июн. 2026 г.391Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.3
1.3.3-fabric-mc1.21.624 июн. 2026 г.235Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.3
1.3.3-fabric-mc1.21.524 июн. 2026 г.165Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.3
1.3.3-fabric-mc1.21.424 июн. 2026 г.166Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.3
1.3.3-fabric-mc1.21.324 июн. 2026 г.21Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.3
1.3.3-fabric-mc1.2124 июн. 2026 г.2,8 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.3
1.3.3-fabric-mc1.20.624 июн. 2026 г.12Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.3
1.3.3-fabric-mc1.20.424 июн. 2026 г.64Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.3
1.3.3-fabric-mc1.20.224 июн. 2026 г.18Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.3
1.3.3-fabric-mc1.20.124 июн. 2026 г.1,5 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.3
1.3.3-fabric-mc1.19.424 июн. 2026 г.14Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.3
1.3.3-fabric-mc1.19.224 июн. 2026 г.57Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.3
1.3.3-fabric-mc1.1824 июн. 2026 г.22Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.3
1.3.3-forge-mc26.224 июн. 2026 г.64Minecraft: 26.2forge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.3
1.3.3-forge-mc26.124 июн. 2026 г.51Minecraft: 26.1, 26.1.1, 26.1.2forge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.3
1.3.3-forge-mc1.21.1124 июн. 2026 г.119Minecraft: 1.21.11forge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.3
1.3.3-forge-mc1.21.924 июн. 2026 г.26Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.3
1.3.3-forge-mc1.21.624 июн. 2026 г.25Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.3
1.3.3-forge-mc1.21.524 июн. 2026 г.18Minecraft: 1.21.5forge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.3
1.3.3-forge-mc1.21.424 июн. 2026 г.12Minecraft: 1.21.4forge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.3
1.3.3-forge-mc1.21.324 июн. 2026 г.9Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.3
1.3.3-forge-mc1.2124 июн. 2026 г.119Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.3
1.3.3-forge-mc1.20.624 июн. 2026 г.8Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.3
1.3.3-forge-mc1.20.424 июн. 2026 г.21Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.3
1.3.3-forge-mc1.20.124 июн. 2026 г.7,4 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.3
1.3.3-forge-mc1.19.424 июн. 2026 г.20Minecraft: 1.19.4forge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.3
1.3.3-forge-mc1.19.324 июн. 2026 г.8Minecraft: 1.19.3forge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.3
1.3.3-forge-mc1.19.224 июн. 2026 г.159Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.3
1.3.3-forge-mc1.1824 июн. 2026 г.103Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
- Fixed deserialization of `dimension` entity predicate
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.3
1.3.3-forge-mc1.1724 июн. 2026 г.14Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.3
1.3.3-forge-mc1.1624 июн. 2026 г.107Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.3
1.3.3-forge-mc1.1524 июн. 2026 г.7Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.3
1.3.3-forge-mc1.1424 июн. 2026 г.13Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.3
1.3.3-forge-mc1.1224 июн. 2026 г.340Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.3.3
- Fixed deserialization of `dimension`, `match_block`, and `match_state` block predicates
### Fusion 1.3.2a
- Fixed crash when rendering terrain particle with `null` sprite
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12c
- Fixed crash without CensoredASM
### Fusion 1.2.12b
- Fixed crash with CensoredASM
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.2b
1.3.2b-neoforge-mc26.222 июн. 2026 г.253Minecraft: 26.2neoforge
Что нового
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.2b
1.3.2b-neoforge-mc26.122 июн. 2026 г.129Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.2b
1.3.2b-neoforge-mc1.21.1122 июн. 2026 г.170Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.2b
1.3.2b-neoforge-mc1.21.922 июн. 2026 г.25Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.2b
1.3.2b-neoforge-mc1.21.822 июн. 2026 г.42Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.2b
1.3.2b-neoforge-mc1.21.522 июн. 2026 г.19Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.2b
1.3.2b-neoforge-mc1.21.422 июн. 2026 г.34Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.3.2b
1.3.2b-neoforge-mc1.21.322 июн. 2026 г.16Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.2b
1.3.2b-neoforge-mc1.21.122 июн. 2026 г.13,1 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed broken lighting for Fusion models
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.2b
1.3.2b-neoforge-mc1.20.622 июн. 2026 г.9Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.2b
1.3.2b-neoforge-mc1.20.422 июн. 2026 г.9Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.3.2b
- Fixed `overrides_folder` not working for mod resources
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.3.2b
1.3.2b-fabric-mc1.21.1122 июн. 2026 г.4,7 тыс.Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.2b
1.3.2b-fabric-mc1.21.922 июн. 2026 г.427Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.3.2b
- Fixed crash from `pane_culling_fix` requesting invalid atlas id
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.2a
1.3.2a-neoforge-mc26.222 июн. 2026 г.85Minecraft: 26.2neoforge
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.2a
1.3.2a-neoforge-mc26.122 июн. 2026 г.75Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.2a
1.3.2a-neoforge-mc1.21.1122 июн. 2026 г.74Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.2a
1.3.2a-neoforge-mc1.21.922 июн. 2026 г.16Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.2a
1.3.2a-neoforge-mc1.21.822 июн. 2026 г.23Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.2a
1.3.2a-neoforge-mc1.21.522 июн. 2026 г.5Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.2a
1.3.2a-neoforge-mc1.21.422 июн. 2026 г.12Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.3.2a
1.3.2a-neoforge-mc1.21.322 июн. 2026 г.8Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.2a
1.3.2a-neoforge-mc1.21.122 июн. 2026 г.3 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed broken lighting for Fusion models
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.2a
1.3.2a-neoforge-mc1.20.622 июн. 2026 г.4Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.2a
1.3.2a-neoforge-mc1.20.422 июн. 2026 г.10Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.3.2a
1.3.2a-fabric-mc26.222 июн. 2026 г.2,9 тыс.Minecraft: 26.2fabric, quilt
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.2a
1.3.2a-fabric-mc26.122 июн. 2026 г.1,7 тыс.Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.2a
1.3.2a-fabric-mc1.21.1122 июн. 2026 г.654Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.2a
1.3.2a-fabric-mc1.21.922 июн. 2026 г.56Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.2a
1.3.2a-fabric-mc1.21.622 июн. 2026 г.274Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.2a
1.3.2a-fabric-mc1.21.522 июн. 2026 г.109Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.2a
1.3.2a-fabric-mc1.21.422 июн. 2026 г.208Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.2a
1.3.2a-fabric-mc1.21.322 июн. 2026 г.24Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.2a
1.3.2a-fabric-mc1.2122 июн. 2026 г.12,6 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.2a
1.3.2a-fabric-mc1.20.622 июн. 2026 г.21Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.2a
1.3.2a-fabric-mc1.20.422 июн. 2026 г.61Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.2a
1.3.2a-fabric-mc1.20.222 июн. 2026 г.18Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.2a
1.3.2a-fabric-mc1.20.122 июн. 2026 г.1,6 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.2a
1.3.2a-fabric-mc1.19.422 июн. 2026 г.12Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.2a
1.3.2a-forge-mc26.222 июн. 2026 г.65Minecraft: 26.2forge
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.2a
1.3.2a-forge-mc26.122 июн. 2026 г.55Minecraft: 26.1, 26.1.1, 26.1.2forge
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.2a
1.3.2a-forge-mc1.21.1122 июн. 2026 г.103Minecraft: 1.21.11forge
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.2a
1.3.2a-forge-mc1.21.922 июн. 2026 г.25Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.2a
1.3.2a-forge-mc1.21.622 июн. 2026 г.22Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.2a
1.3.2a-forge-mc1.21.522 июн. 2026 г.14Minecraft: 1.21.5forge
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.2a
1.3.2a-forge-mc1.21.422 июн. 2026 г.10Minecraft: 1.21.4forge
Что нового
### Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
- Fixed crash when creating texture animation frames
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.2a
1.3.2a-forge-mc1.21.322 июн. 2026 г.11Minecraft: 1.21.2, 1.21.3forge
Что нового
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.2a
1.3.2a-forge-mc1.2122 июн. 2026 г.125Minecraft: 1.21, 1.21.1forge
Что нового
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.2a
1.3.2a-forge-mc1.20.622 июн. 2026 г.12Minecraft: 1.20.5, 1.20.6forge
Что нового
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.2a
1.3.2a-forge-mc1.20.422 июн. 2026 г.19Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.2a
1.3.2a-forge-mc1.20.122 июн. 2026 г.6 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.2a
1.3.2a-forge-mc1.19.422 июн. 2026 г.12Minecraft: 1.19.4forge
Что нового
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.2a
1.3.2a-forge-mc1.19.322 июн. 2026 г.11Minecraft: 1.19.3forge
Что нового
### 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 `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.2a
1.3.2a-forge-mc1.1222 июн. 2026 г.390Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.3.2a
- Fixed crash when rendering terrain particle with `null` sprite
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12c
- Fixed crash without CensoredASM
### Fusion 1.2.12b
- Fixed crash with CensoredASM
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.2
1.3.2-fabric-mc26.220 июн. 2026 г.1,4 тыс.Minecraft: 26.2fabric, quilt
Что нового
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.2
1.3.2-fabric-mc26.120 июн. 2026 г.446Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Что нового
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.2
1.3.2-neoforge-mc26.220 июн. 2026 г.88Minecraft: 26.2neoforge
Что нового
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.2
1.3.2-neoforge-mc26.120 июн. 2026 г.96Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.2
1.3.2-neoforge-mc1.21.1120 июн. 2026 г.131Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.2
1.3.2-neoforge-mc1.21.920 июн. 2026 г.21Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.2
1.3.2-neoforge-mc1.21.820 июн. 2026 г.20Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.2
1.3.2-neoforge-mc1.21.520 июн. 2026 г.8Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.2
1.3.2-neoforge-mc1.21.420 июн. 2026 г.23Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.3.2
1.3.2-neoforge-mc1.21.320 июн. 2026 г.7Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.2
1.3.2-neoforge-mc1.21.120 июн. 2026 г.5,7 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed broken lighting for Fusion models
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.2
1.3.2-neoforge-mc1.20.620 июн. 2026 г.9Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.2
1.3.2-neoforge-mc1.20.420 июн. 2026 г.14Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.3.2
1.3.2-fabric-mc1.21.1120 июн. 2026 г.2,7 тыс.Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.2
1.3.2-fabric-mc1.21.920 июн. 2026 г.246Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.2
1.3.2-fabric-mc1.21.620 июн. 2026 г.157Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.2
1.3.2-fabric-mc1.21.520 июн. 2026 г.50Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.2
1.3.2-fabric-mc1.21.420 июн. 2026 г.84Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed connecting texture predicate resolution for item models
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.2
1.3.2-fabric-mc1.21.320 июн. 2026 г.14Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.2
1.3.2-fabric-mc1.2120 июн. 2026 г.1,1 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.3.2
- Fixed crash with Sodium reading dummy sprite contents
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.2
1.3.2-fabric-mc1.20.620 июн. 2026 г.12Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.2
1.3.2-fabric-mc1.20.420 июн. 2026 г.36Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.2
1.3.2-fabric-mc1.20.220 июн. 2026 г.12Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.2
1.3.2-fabric-mc1.20.120 июн. 2026 г.864Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.2
1.3.2-fabric-mc1.19.420 июн. 2026 г.10Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.3.2
- Fixed broken mixin crash
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.2
1.3.2-fabric-mc1.19.220 июн. 2026 г.70Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.2
1.3.2-fabric-mc1.1820 июн. 2026 г.31Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.3.2
- Fixed "Reference map could not be read" warning
- Removed ModMenu 'library' tag
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.2
1.3.2-forge-mc26.220 июн. 2026 г.49Minecraft: 26.2forge
Что нового
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.2
1.3.2-forge-mc26.120 июн. 2026 г.36Minecraft: 26.1, 26.1.1, 26.1.2forge
Что нового
### Fusion 1.3.2
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.2
1.3.2-forge-mc1.21.1120 июн. 2026 г.63Minecraft: 1.21.11forge
Что нового
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.3.2
1.3.2-forge-mc1.21.920 июн. 2026 г.14Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.3.2
1.3.2-forge-mc1.21.620 июн. 2026 г.14Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.3.2
1.3.2-forge-mc1.21.520 июн. 2026 г.10Minecraft: 1.21.5forge
Что нового
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.3.2
1.3.2-forge-mc1.21.420 июн. 2026 г.13Minecraft: 1.21.4forge
Что нового
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
- Fixed connecting texture predicate resolution for item models
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.2
1.3.2-forge-mc1.21.320 июн. 2026 г.9Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.2
1.3.2-forge-mc1.2120 июн. 2026 г.56Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.3.2
1.3.2-forge-mc1.20.620 июн. 2026 г.10Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.3.2
1.3.2-forge-mc1.20.420 июн. 2026 г.23Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.3.2
1.3.2-forge-mc1.20.120 июн. 2026 г.8 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.2
1.3.2-forge-mc1.19.420 июн. 2026 г.10Minecraft: 1.19.4forge
Что нового
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.2
1.3.2-forge-mc1.19.320 июн. 2026 г.10Minecraft: 1.19.3forge
Что нового
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.2
1.3.2-forge-mc1.19.220 июн. 2026 г.371Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.2
1.3.2-forge-mc1.1820 июн. 2026 г.184Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.2
1.3.2-forge-mc1.1720 июн. 2026 г.12Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.2
1.3.2-forge-mc1.1620 июн. 2026 г.194Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.2
1.3.2-forge-mc1.1520 июн. 2026 г.18Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.2
1.3.2-forge-mc1.1420 июн. 2026 г.22Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.3.2
1.3.2-forge-mc1.1220 июн. 2026 г.201Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12c
- Fixed crash without CensoredASM
### Fusion 1.2.12b
- Fixed crash with CensoredASM
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.1
1.3.1-neoforge-mc26.220 июн. 2026 г.99Minecraft: 26.2neoforge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
beta
Fusion 1.3.1
1.3.1-neoforge-mc26.119 июн. 2026 г.69Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
beta
Fusion 1.3.1
1.3.1-neoforge-mc1.21.1119 июн. 2026 г.133Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
beta
Fusion 1.3.1
1.3.1-neoforge-mc1.21.919 июн. 2026 г.13Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
beta
Fusion 1.3.1
1.3.1-neoforge-mc1.21.819 июн. 2026 г.26Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
beta
Fusion 1.3.1
1.3.1-neoforge-mc1.21.519 июн. 2026 г.13Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
beta
Fusion 1.3.1
1.3.1-neoforge-mc1.21.419 июн. 2026 г.22Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
beta
Fusion 1.3.1
1.3.1-neoforge-mc1.21.319 июн. 2026 г.11Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
beta
Fusion 1.3.1
1.3.1-neoforge-mc1.21.119 июн. 2026 г.3,6 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed broken lighting for Fusion models
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
beta
Fusion 1.3.1
1.3.1-neoforge-mc1.20.619 июн. 2026 г.12Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
beta
Fusion 1.3.1
1.3.1-neoforge-mc1.20.419 июн. 2026 г.9Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
beta
Fusion 1.3.1
1.3.1-fabric-mc26.219 июн. 2026 г.1,1 тыс.Minecraft: 26.2fabric, quilt
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
beta
Fusion 1.3.1
1.3.1-fabric-mc26.119 июн. 2026 г.123Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed integration with Sodium
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
beta
Fusion 1.3.1
1.3.1-fabric-mc1.21.1119 июн. 2026 г.1,9 тыс.Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
beta
Fusion 1.3.1
1.3.1-fabric-mc1.21.919 июн. 2026 г.160Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
beta
Fusion 1.3.1
1.3.1-fabric-mc1.21.619 июн. 2026 г.112Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
beta
Fusion 1.3.1
1.3.1-fabric-mc1.21.519 июн. 2026 г.38Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
beta
Fusion 1.3.1
1.3.1-fabric-mc1.21.419 июн. 2026 г.74Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
beta
Fusion 1.3.1
1.3.1-fabric-mc1.21.319 июн. 2026 г.14Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
beta
Fusion 1.3.1
1.3.1-fabric-mc1.2119 июн. 2026 г.722Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
beta
Fusion 1.3.1
1.3.1-fabric-mc1.20.619 июн. 2026 г.12Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
beta
Fusion 1.3.1
1.3.1-fabric-mc1.20.419 июн. 2026 г.29Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
beta
Fusion 1.3.1
1.3.1-fabric-mc1.20.219 июн. 2026 г.12Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
beta
Fusion 1.3.1
1.3.1-fabric-mc1.20.119 июн. 2026 г.470Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.1
1.3.1-fabric-mc1.19.419 июн. 2026 г.15Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.1
1.3.1-fabric-mc1.19.219 июн. 2026 г.23Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.1
1.3.1-fabric-mc1.1819 июн. 2026 г.17Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.1
1.3.1-forge-mc26.219 июн. 2026 г.37Minecraft: 26.2forge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
beta
Fusion 1.3.1
1.3.1-forge-mc26.119 июн. 2026 г.30Minecraft: 26.1, 26.1.1, 26.1.2forge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
beta
Fusion 1.3.1
1.3.1-forge-mc1.21.1119 июн. 2026 г.45Minecraft: 1.21.11forge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
beta
Fusion 1.3.1
1.3.1-forge-mc1.21.919 июн. 2026 г.19Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
beta
Fusion 1.3.1
1.3.1-forge-mc1.21.619 июн. 2026 г.14Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
beta
Fusion 1.3.1
1.3.1-forge-mc1.21.519 июн. 2026 г.10Minecraft: 1.21.5forge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
beta
Fusion 1.3.1
1.3.1-forge-mc1.21.419 июн. 2026 г.9Minecraft: 1.21.4forge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
beta
Fusion 1.3.1
1.3.1-forge-mc1.21.319 июн. 2026 г.8Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
beta
Fusion 1.3.1
1.3.1-forge-mc1.2119 июн. 2026 г.38Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed crash with quick pack mod
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
beta
Fusion 1.3.1
1.3.1-forge-mc1.20.619 июн. 2026 г.9Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
beta
Fusion 1.3.1
1.3.1-forge-mc1.20.419 июн. 2026 г.11Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
beta
Fusion 1.3.1
1.3.1-forge-mc1.20.119 июн. 2026 г.2,1 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.1
1.3.1-forge-mc1.19.419 июн. 2026 г.17Minecraft: 1.19.4forge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.1
1.3.1-forge-mc1.19.319 июн. 2026 г.9Minecraft: 1.19.3forge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Fixed broken textures when ModernFix `mixin.perf.dynamic_resources` is enabled
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.1
1.3.1-forge-mc1.19.219 июн. 2026 г.60Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.1
1.3.1-forge-mc1.1819 июн. 2026 г.48Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.1
1.3.1-forge-mc1.1719 июн. 2026 г.9Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.1
1.3.1-forge-mc1.1619 июн. 2026 г.44Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.1
1.3.1-forge-mc1.1519 июн. 2026 г.8Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.1
1.3.1-forge-mc1.1419 июн. 2026 г.13Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.1
1.3.1-forge-mc1.1219 июн. 2026 г.182Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.3.1
- Fixed `overlay` connecting texture layout producing way too many quads
- Fixed `connections` property of connecting textures not working
- Fixed base texture properties not working for `connecting` and `random` texture types
- Fixed geometry of `base` models being duplicated
- Renamed `ConnectingModelData.ConnectingModelDataBuilder` to `ConnectingModelData.Builder`
- Fixed `CuboidModelDataBuilder#material` calling itself
- Fixed model materials map serialization not including '#' for references
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12c
- Fixed crash without CensoredASM
### Fusion 1.2.12b
- Fixed crash with CensoredASM
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.0
1.3.0-fabric-mc26.219 июн. 2026 г.681Minecraft: 26.2fabric, quilt
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
beta
Fusion 1.3.0
1.3.0-neoforge-mc26.219 июн. 2026 г.52Minecraft: 26.2neoforge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
beta
Fusion 1.3.0
1.3.0-neoforge-mc26.119 июн. 2026 г.55Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
beta
Fusion 1.3.0
1.3.0-fabric-mc26.119 июн. 2026 г.1,4 тыс.Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
beta
Fusion 1.3.0
1.3.0-forge-mc26.219 июн. 2026 г.37Minecraft: 26.2forge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.2
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
beta
Fusion 1.3.0
1.3.0-forge-mc26.119 июн. 2026 г.36Minecraft: 26.1, 26.1.1, 26.1.2forge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
## Update to Minecraft 26.1
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
beta
Fusion 1.3.0
1.3.0-neoforge-mc1.21.1119 июн. 2026 г.85Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
beta
Fusion 1.3.0
1.3.0-neoforge-mc1.21.919 июн. 2026 г.18Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
beta
Fusion 1.3.0
1.3.0-neoforge-mc1.21.819 июн. 2026 г.18Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
beta
Fusion 1.3.0
1.3.0-neoforge-mc1.21.519 июн. 2026 г.13Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
beta
Fusion 1.3.0
1.3.0-neoforge-mc1.21.419 июн. 2026 г.20Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
beta
Fusion 1.3.0
1.3.0-neoforge-mc1.21.319 июн. 2026 г.8Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
beta
Fusion 1.3.0
1.3.0-neoforge-mc1.21.119 июн. 2026 г.2,1 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
beta
Fusion 1.3.0
1.3.0-neoforge-mc1.20.619 июн. 2026 г.10Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
beta
Fusion 1.3.0
1.3.0-neoforge-mc1.20.419 июн. 2026 г.7Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
beta
Fusion 1.3.0
1.3.0-fabric-mc1.21.1119 июн. 2026 г.1,1 тыс.Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
beta
Fusion 1.3.0
1.3.0-fabric-mc1.21.919 июн. 2026 г.119Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
beta
Fusion 1.3.0
1.3.0-fabric-mc1.21.619 июн. 2026 г.71Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
beta
Fusion 1.3.0
1.3.0-fabric-mc1.21.519 июн. 2026 г.30Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
beta
Fusion 1.3.0
1.3.0-fabric-mc1.21.419 июн. 2026 г.58Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
beta
Fusion 1.3.0
1.3.0-fabric-mc1.21.319 июн. 2026 г.9Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
beta
Fusion 1.3.0
1.3.0-fabric-mc1.2119 июн. 2026 г.691Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
beta
Fusion 1.3.0
1.3.0-fabric-mc1.20.619 июн. 2026 г.12Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
beta
Fusion 1.3.0
1.3.0-fabric-mc1.20.419 июн. 2026 г.24Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
beta
Fusion 1.3.0
1.3.0-fabric-mc1.20.219 июн. 2026 г.15Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
beta
Fusion 1.3.0
1.3.0-fabric-mc1.20.119 июн. 2026 г.345Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.0
1.3.0-fabric-mc1.19.419 июн. 2026 г.12Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.0
1.3.0-fabric-mc1.19.219 июн. 2026 г.24Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.0
1.3.0-fabric-mc1.1819 июн. 2026 г.17Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.0
1.3.0-forge-mc1.21.1119 июн. 2026 г.41Minecraft: 1.21.11forge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
beta
Fusion 1.3.0
1.3.0-forge-mc1.21.919 июн. 2026 г.13Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
beta
Fusion 1.3.0
1.3.0-forge-mc1.21.619 июн. 2026 г.14Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
beta
Fusion 1.3.0
1.3.0-forge-mc1.21.519 июн. 2026 г.9Minecraft: 1.21.5forge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
beta
Fusion 1.3.0
1.3.0-forge-mc1.21.419 июн. 2026 г.11Minecraft: 1.21.4forge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
beta
Fusion 1.3.0
1.3.0-forge-mc1.21.319 июн. 2026 г.6Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
beta
Fusion 1.3.0
1.3.0-forge-mc1.2119 июн. 2026 г.34Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
beta
Fusion 1.3.0
1.3.0-forge-mc1.20.619 июн. 2026 г.11Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
beta
Fusion 1.3.0
1.3.0-forge-mc1.20.419 июн. 2026 г.15Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
beta
Fusion 1.3.0
1.3.0-forge-mc1.20.119 июн. 2026 г.1,7 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.0
1.3.0-forge-mc1.19.419 июн. 2026 г.11Minecraft: 1.19.4forge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.0
1.3.0-forge-mc1.19.319 июн. 2026 г.6Minecraft: 1.19.3forge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.0
1.3.0-forge-mc1.19.219 июн. 2026 г.57Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.0
1.3.0-forge-mc1.1819 июн. 2026 г.51Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.0
1.3.0-forge-mc1.1719 июн. 2026 г.8Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.0
1.3.0-forge-mc1.1619 июн. 2026 г.41Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.0
1.3.0-forge-mc1.1519 июн. 2026 г.8Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### 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 custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.0
1.3.0-forge-mc1.1419 июн. 2026 г.7Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `scrolling` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
beta
Fusion 1.3.0
1.3.0-forge-mc1.1219 июн. 2026 г.169Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.3.0
- Model related changes:
- Overhauled `ModelType` and how models are loaded:
- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for `base` model type:
- Model can now be made emissive, through `emissive` property
- Shading can now be disabled, through `shade` property
- Ambient occlusion can now be disabled, through `ambient_occlusion` property
- Lighting in guis can now be changed, through `gui_light` property
- Elements can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Element faces can now have `light_emission`, `emissive`, `shade`, `ambient_occlusion` properties
- Overhauled block and item model modifiers:
- Added `priority` property
- 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_targets` property
- Added `default_model_overwrites` to allow changes the default model when item/block model predicates are met
- Added `append_models` to append models when item/block model predicates are met
- For block model modifiers, `show_breaking_overlay` can now be set per model entry
- Added block model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `match_block` checks whether the block at a certain offset matches certain blocks
- `match_state` checks whether the block at a certain offset matches certain blocks and state properties
- `biome` checks whether the block is in a biome
- `dimension` checks whether the block is in a dimension
- `altitude` checks whether the block's y-position is within a range
- Added item model predicates:
- Simple `true`, `false`, `and`, `or`, `not` types
- `count` checks if a stack's count is within a range
- `durability` checks if a stack's durability is within a range
- `enchantment` checks whether an enchantment is present has a certain level
- `match_name` checks whether an item's custom name matches a string or regex
- `potion` checks whether the stack has a potion type
- Added `composite` model type:
- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Texture related changes:
- Overhauled `TextureType` and 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 `base` texture type:
- No longer requires a `base` model
- Changes for `connecting` texture type:
- No longer requires a `connecting` model
- 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_texture` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Added an option for a default connection predicate, through `connections` property
- Changes to connection predicates:
- Added `true` and `false` types
- Added `ignore_missing` options for `match_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`
- Changes for `random` texture 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_texture` property
- Added randomness options `position`, `position_facing`, `position_axis`, through `random_source` property
- Animated image layout can now be per-tile, through `per_tile_animation` property
- Increased maximum `rows` and `columns` from 10 to 100
- Changes for `continuous` texture type:
- Default tile is now its own sprite on the texture atlas
- Increased maximum `rows` and `columns` from 10 to 32
- Changes for `random` texture type:
- Added 'wrap' loop type to allow the frame to wrap around the image
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of `full` layout 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_fix` potentially 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 `cuboid` model 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
### Fusion 1.2.12c
- Fixed crash without CensoredASM
### Fusion 1.2.12b
- Fixed crash with CensoredASM
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.12c
1.2.12c-forge-mc1.1220 мар. 2026 г.15,4 тыс.Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.2.12c
- Fixed crash without CensoredASM
### Fusion 1.2.12b
- Fixed crash with CensoredASM
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.12b
1.2.12b-forge-mc1.1217 февр. 2026 г.2,8 тыс.Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.2.12b
- Fixed crash with CensoredASM
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.12a
1.2.12a-fabric-mc1.21.112 февр. 2026 г.213,4 тыс.Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.2.12a
- Fixed performance issues when resolving custom texture tinting with Sodium installed
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.2.12a
1.2.12a-forge-mc1.1225 янв. 2026 г.2,2 тыс.Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.2.12a
- Fixed handling of legacy square aspect ratio full layout connecting textures
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.12
1.2.12-forge-mc1.1517 янв. 2026 г.258Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### 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 custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.12
1.2.12-forge-mc1.1617 янв. 2026 г.4,7 тыс.Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.12
1.2.12-forge-mc1.1717 янв. 2026 г.189Minecraft: 1.17, 1.17.1forge
Что нового
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.12
1.2.12-forge-mc1.1817 янв. 2026 г.25,4 тыс.Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### 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.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.12
1.2.12-fabric-mc1.1817 янв. 2026 г.1 тыс.Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.12
1.2.12-forge-mc1.19.217 янв. 2026 г.12,2 тыс.Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.12
1.2.12-fabric-mc1.19.217 янв. 2026 г.1,9 тыс.Minecraft: 1.19.2fabric, quilt
Что нового
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.12
1.2.12-forge-mc1.19.317 янв. 2026 г.122Minecraft: 1.19.3forge
Что нового
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.12
1.2.12-forge-mc1.19.417 янв. 2026 г.955Minecraft: 1.19.4forge
Что нового
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.12
1.2.12-fabric-mc1.19.417 янв. 2026 г.481Minecraft: 1.19.4fabric, quilt
Что нового
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.12
1.2.12-forge-mc1.20.117 янв. 2026 г.850 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.12
1.2.12-fabric-mc1.20.117 янв. 2026 г.92,1 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.12
1.2.12-forge-mc1.20.417 янв. 2026 г.837Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### 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 `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.12
1.2.12-fabric-mc1.20.217 янв. 2026 г.512Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.12
1.2.12-neoforge-mc1.20.417 янв. 2026 г.359Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### 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.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.2.12
1.2.12-fabric-mc1.20.417 янв. 2026 г.3,4 тыс.Minecraft: 1.20.4fabric, quilt
Что нового
### 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.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.12
1.2.12-neoforge-mc1.20.617 янв. 2026 г.212Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.12
1.2.12-forge-mc1.20.617 янв. 2026 г.347Minecraft: 1.20.5, 1.20.6forge
Что нового
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.12
1.2.12-fabric-mc1.20.617 янв. 2026 г.893Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.12
1.2.12-neoforge-mc1.21.117 янв. 2026 г.492,7 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.12
1.2.12-forge-mc1.2117 янв. 2026 г.6 тыс.Minecraft: 1.21, 1.21.1forge
Что нового
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.12
1.2.12-fabric-mc1.2117 янв. 2026 г.3,1 млнMinecraft: 1.21, 1.21.1fabric, quilt
Что нового
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.12
1.2.12-neoforge-mc1.21.317 янв. 2026 г.335Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.12
1.2.12-forge-mc1.21.317 янв. 2026 г.153Minecraft: 1.21.2, 1.21.3forge
Что нового
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.12
1.2.12-fabric-mc1.21.317 янв. 2026 г.1,2 тыс.Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.12
1.2.12-neoforge-mc1.21.1115 янв. 2026 г.40,2 тыс.Minecraft: 1.21.11neoforge
Что нового
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.2.12
1.2.12-neoforge-mc1.21.915 янв. 2026 г.2,8 тыс.Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.2.12
1.2.12-neoforge-mc1.21.815 янв. 2026 г.2,5 тыс.Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.12
1.2.12-neoforge-mc1.21.515 янв. 2026 г.11,5 тыс.Minecraft: 1.21.5neoforge
Что нового
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.12
1.2.12-neoforge-mc1.21.415 янв. 2026 г.1,5 тыс.Minecraft: 1.21.4neoforge
Что нового
### 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.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.12
1.2.12-fabric-mc1.21.1115 янв. 2026 г.39,6 тыс.Minecraft: 1.21.11fabric, quilt
Что нового
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.2.12
1.2.12-fabric-mc1.21.915 янв. 2026 г.36,3 тыс.Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.2.12
1.2.12-fabric-mc1.21.615 янв. 2026 г.17,1 тыс.Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.12
1.2.12-fabric-mc1.21.515 янв. 2026 г.5,7 тыс.Minecraft: 1.21.5fabric, quilt
Что нового
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.12
1.2.12-fabric-mc1.21.415 янв. 2026 г.10,3 тыс.Minecraft: 1.21.4fabric, quilt
Что нового
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.12
1.2.12-forge-mc1.21.1115 янв. 2026 г.8,7 тыс.Minecraft: 1.21.11forge
Что нового
### 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.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.2.12
1.2.12-forge-mc1.21.915 янв. 2026 г.1,7 тыс.Minecraft: 1.21.9, 1.21.10forge
Что нового
### 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.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.2.12
1.2.12-forge-mc1.21.615 янв. 2026 г.906Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.12
1.2.12-forge-mc1.21.515 янв. 2026 г.453Minecraft: 1.21.5forge
Что нового
### 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 `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.12
1.2.12-forge-mc1.21.415 янв. 2026 г.486Minecraft: 1.21.4forge
Что нового
### 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.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.12
1.2.12-forge-mc1.1415 янв. 2026 г.306Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.12
1.2.12-forge-mc1.1215 янв. 2026 г.969Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.2.12
- Fixed handling of connections key references in connecting models
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11b
1.2.11b-neoforge-mc1.21.115 янв. 2026 г.2 тыс.Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.2.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.2.11d
1.2.11d-neoforge-mc1.21.95 янв. 2026 г.502Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.2.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.2.11b
1.2.11b-neoforge-mc1.21.85 янв. 2026 г.359Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.2.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.11b
1.2.11b-neoforge-mc1.21.55 янв. 2026 г.101Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.2.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.11e
1.2.11e-neoforge-mc1.21.45 янв. 2026 г.186Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.2.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.11e
1.2.11e-neoforge-mc1.21.35 янв. 2026 г.31Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.2.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11e
1.2.11e-neoforge-mc1.21.15 янв. 2026 г.36,4 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.2.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11e
1.2.11e-neoforge-mc1.20.65 янв. 2026 г.34Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.2.11e
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11b
1.2.11b-fabric-mc1.21.115 янв. 2026 г.43,7 тыс.Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.2.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.2.11b
1.2.11b-fabric-mc1.21.95 янв. 2026 г.9,2 тыс.Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.2.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.2.11b
1.2.11b-fabric-mc1.21.65 янв. 2026 г.3,3 тыс.Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.2.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.11b
1.2.11b-fabric-mc1.21.55 янв. 2026 г.830Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.2.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11b
1.2.11b-fabric-mc1.21.45 янв. 2026 г.1,2 тыс.Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.2.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11b
1.2.11b-fabric-mc1.21.35 янв. 2026 г.140Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.2.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11b
1.2.11b-fabric-mc1.215 янв. 2026 г.8,9 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.2.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11b
1.2.11b-fabric-mc1.20.65 янв. 2026 г.100Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.2.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11a
1.2.11a-forge-mc1.21.115 янв. 2026 г.1 тыс.Minecraft: 1.21.11forge
Что нового
### Fusion 1.2.11a
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.2.11b
1.2.11b-forge-mc1.21.95 янв. 2026 г.276Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.2.11b
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.2.11c
1.2.11c-forge-mc1.21.65 янв. 2026 г.132Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.2.11c
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.11c
1.2.11c-forge-mc1.21.55 янв. 2026 г.67Minecraft: 1.21.5forge
Что нового
### Fusion 1.2.11c
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.11d
1.2.11d-forge-mc1.21.45 янв. 2026 г.82Minecraft: 1.21.4forge
Что нового
### Fusion 1.2.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11d
1.2.11d-forge-mc1.21.35 янв. 2026 г.18Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.2.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11d
1.2.11d-forge-mc1.215 янв. 2026 г.413Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.2.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11d
1.2.11d-forge-mc1.20.65 янв. 2026 г.51Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.2.11d
- Fixed `enchantment` item model modifier predicate not working for enchanted books
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11d
1.2.11d-forge-mc1.1825 дек. 2025 г.1,1 тыс.Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.2.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11d
1.2.11d-forge-mc1.1725 дек. 2025 г.43Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.2.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11d
1.2.11d-forge-mc1.1625 дек. 2025 г.623Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.2.11d
- Fixed custom render types not working
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11c
1.2.11c-forge-mc1.1525 дек. 2025 г.41Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11c
1.2.11c-forge-mc1.1425 дек. 2025 г.58Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11c
1.2.11c-forge-mc1.1225 дек. 2025 г.5,3 тыс.Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.2.11c
- Fixed custom render types not working
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11d
1.2.11d-neoforge-mc1.21.420 дек. 2025 г.291Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.11d
1.2.11d-neoforge-mc1.21.320 дек. 2025 г.57Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11d
1.2.11d-neoforge-mc1.2120 дек. 2025 г.24,3 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11d
1.2.11d-neoforge-mc1.20.620 дек. 2025 г.38Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11d
1.2.11d-neoforge-mc1.20.420 дек. 2025 г.69Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.2.11d
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.2.11c
1.2.11c-forge-mc1.21.420 дек. 2025 г.91Minecraft: 1.21.4forge
Что нового
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11c
1.2.11c-forge-mc1.21.320 дек. 2025 г.35Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11c
1.2.11c-forge-mc1.2120 дек. 2025 г.581Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11c
1.2.11c-forge-mc1.20.620 дек. 2025 г.54Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11c
1.2.11c-forge-mc1.20.420 дек. 2025 г.158Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.11c
1.2.11c-forge-mc1.20.120 дек. 2025 г.192,7 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11c
1.2.11c-forge-mc1.19.420 дек. 2025 г.118Minecraft: 1.19.4forge
Что нового
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11c
1.2.11c-forge-mc1.19.320 дек. 2025 г.41Minecraft: 1.19.3forge
Что нового
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11c
1.2.11c-forge-mc1.19.220 дек. 2025 г.2,4 тыс.Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11c
1.2.11c-forge-mc1.1820 дек. 2025 г.202Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11c
1.2.11c-forge-mc1.1720 дек. 2025 г.24Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11c
1.2.11c-forge-mc1.1620 дек. 2025 г.167Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.2.11c
- Fixed block model modifier outputting quads from `WeightedBakedModel`s 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11b
1.2.11b-forge-mc1.1520 дек. 2025 г.25Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11b
1.2.11b-forge-mc1.1420 дек. 2025 г.27Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11b
1.2.11b-forge-mc1.1220 дек. 2025 г.338Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.2.11b
- Fixed block model modifier outputting quads from `WeightedBakedModel`s for all render types
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11a
1.2.11a-neoforge-mc1.21.1120 дек. 2025 г.5 тыс.Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.2.11a
1.2.11a-fabric-mc1.21.1120 дек. 2025 г.30,6 тыс.Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.2.11a
- Fixed crash with Sodium
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.2.11
1.2.11-neoforge-mc1.21.1119 дек. 2025 г.155Minecraft: 1.21.11neoforge
Что нового
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.2.11
1.2.11-fabric-mc1.21.1119 дек. 2025 г.2,3 тыс.Minecraft: 1.21.11fabric, quilt
Что нового
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.2.11
1.2.11-forge-mc1.21.1119 дек. 2025 г.1 тыс.Minecraft: 1.21.11forge
Что нового
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.11
release
Fusion 1.2.11b
1.2.11b-forge-mc1.20.419 дек. 2025 г.38Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.11b
1.2.11b-forge-mc1.20.119 дек. 2025 г.2,9 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11c
1.2.11c-neoforge-mc1.21.919 дек. 2025 г.803Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.2.11c
- Fixed crash when using NeoForge 21.9.14-beta and newer with other mods
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.2.11a
1.2.11a-fabric-mc1.21.919 дек. 2025 г.16 тыс.Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.2.11a
1.2.11a-fabric-mc1.21.619 дек. 2025 г.5,9 тыс.Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.11a
1.2.11a-fabric-mc1.21.519 дек. 2025 г.1,6 тыс.Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11a
1.2.11a-fabric-mc1.21.419 дек. 2025 г.2,4 тыс.Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11a
1.2.11a-fabric-mc1.21.319 дек. 2025 г.201Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11a
1.2.11a-fabric-mc1.2119 дек. 2025 г.13,7 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11a
1.2.11a-fabric-mc1.20.619 дек. 2025 г.133Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11a
1.2.11a-fabric-mc1.20.419 дек. 2025 г.729Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.11a
1.2.11a-fabric-mc1.20.219 дек. 2025 г.132Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.11a
1.2.11a-fabric-mc1.20.119 дек. 2025 г.28,2 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11a
1.2.11a-fabric-mc1.19.419 дек. 2025 г.128Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11a
1.2.11a-fabric-mc1.19.219 дек. 2025 г.389Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11a
1.2.11a-fabric-mc1.1819 дек. 2025 г.209Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.2.11a
- Fixed crash when using a connecting texture and a continuous or random texture on the same model
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11c
1.2.11c-neoforge-mc1.21.419 дек. 2025 г.39Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.11c
1.2.11c-neoforge-mc1.21.319 дек. 2025 г.17Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11c
1.2.11c-neoforge-mc1.2119 дек. 2025 г.2,2 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11c
1.2.11c-neoforge-mc1.20.619 дек. 2025 г.10Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11c
1.2.11c-neoforge-mc1.20.419 дек. 2025 г.11Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.2.11c
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.2.11a
1.2.11a-forge-mc1.21.919 дек. 2025 г.393Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.2.11b
1.2.11b-forge-mc1.21.619 дек. 2025 г.207Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.11b
1.2.11b-forge-mc1.21.519 дек. 2025 г.112Minecraft: 1.21.5forge
Что нового
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.11b
1.2.11b-forge-mc1.21.419 дек. 2025 г.25Minecraft: 1.21.4forge
Что нового
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11b
1.2.11b-forge-mc1.21.319 дек. 2025 г.14Minecraft: 1.21.2, 1.21.3forge
Что нового
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11b
1.2.11b-forge-mc1.2119 дек. 2025 г.99Minecraft: 1.21, 1.21.1forge
Что нового
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11b
1.2.11b-forge-mc1.20.619 дек. 2025 г.13Minecraft: 1.20.5, 1.20.6forge
Что нового
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11b
1.2.11b-forge-mc1.19.419 дек. 2025 г.23Minecraft: 1.19.4forge
Что нового
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11b
1.2.11b-forge-mc1.19.319 дек. 2025 г.17Minecraft: 1.19.3forge
Что нового
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11b
1.2.11b-forge-mc1.19.219 дек. 2025 г.168Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11b
1.2.11b-forge-mc1.1819 дек. 2025 г.9,9 тыс.Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11b
1.2.11b-forge-mc1.1719 дек. 2025 г.9Minecraft: 1.17, 1.17.1forge
Что нового
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11b
1.2.11b-forge-mc1.1619 дек. 2025 г.83Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### 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_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11a
1.2.11a-forge-mc1.1519 дек. 2025 г.9Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11a
1.2.11a-forge-mc1.1419 дек. 2025 г.18Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11a
1.2.11a-forge-mc1.1219 дек. 2025 г.149Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.2.11a
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11b
1.2.11b-neoforge-mc1.21.92 окт. 2025 г.9,2 тыс.Minecraft: 1.21.9, 1.21.10neoforge
Что нового
### Fusion 1.2.11b
- Fixed overrides folder property not working with NeoForge `JarContentsPackResources`
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.2.11
1.2.11-forge-mc1.21.92 окт. 2025 г.3 тыс.Minecraft: 1.21.9, 1.21.10forge
Что нового
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.2.11a
1.2.11a-neoforge-mc1.21.92 окт. 2025 г.72Minecraft: 1.21.9neoforge
Что нового
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.2.11a
1.2.11a-neoforge-mc1.21.62 окт. 2025 г.9,8 тыс.Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.11a
1.2.11a-neoforge-mc1.21.52 окт. 2025 г.8,3 тыс.Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.2.11a
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.11b
1.2.11b-neoforge-mc1.21.42 окт. 2025 г.1,9 тыс.Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.11b
1.2.11b-neoforge-mc1.21.32 окт. 2025 г.240Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11b
1.2.11b-neoforge-mc1.212 окт. 2025 г.151,4 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11b
1.2.11b-neoforge-mc1.20.62 окт. 2025 г.154Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11b
1.2.11b-neoforge-mc1.20.42 окт. 2025 г.409Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.2.11b
- Fixed Fusion's `pack.mcmeta` data not getting loaded for mod resources
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.2.11
1.2.11-neoforge-mc1.21.930 сент. 2025 г.253Minecraft: 1.21.9neoforge
Что нового
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.2.11
1.2.11-fabric-mc1.21.930 сент. 2025 г.213,1 тыс.Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### Fusion 1.2.11
- Initial release of Fusion for Minecraft 1.21.9
release
Fusion 1.2.11a
1.2.11a-neoforge-mc1.21.424 авг. 2025 г.737Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.11a
1.2.11a-neoforge-mc1.21.324 авг. 2025 г.85Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11a
1.2.11a-neoforge-mc1.2124 авг. 2025 г.77,2 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11a
1.2.11a-neoforge-mc1.20.624 авг. 2025 г.76Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11a
1.2.11a-neoforge-mc1.20.424 авг. 2025 г.106Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.2.11a
1.2.11a-forge-mc1.21.624 авг. 2025 г.4,1 тыс.Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.11a
1.2.11a-forge-mc1.21.524 авг. 2025 г.690Minecraft: 1.21.5forge
Что нового
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.11a
1.2.11a-forge-mc1.21.424 авг. 2025 г.675Minecraft: 1.21.4forge
Что нового
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11a
1.2.11a-forge-mc1.21.324 авг. 2025 г.127Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11a
1.2.11a-forge-mc1.2124 авг. 2025 г.3,4 тыс.Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11a
1.2.11a-forge-mc1.20.624 авг. 2025 г.262Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11a
1.2.11a-forge-mc1.20.424 авг. 2025 г.582Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.11a
1.2.11a-forge-mc1.20.124 авг. 2025 г.451,5 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11a
1.2.11a-forge-mc1.19.424 авг. 2025 г.406Minecraft: 1.19.4forge
Что нового
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11a
1.2.11a-forge-mc1.19.324 авг. 2025 г.98Minecraft: 1.19.3forge
Что нового
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11a
1.2.11a-forge-mc1.19.224 авг. 2025 г.11,8 тыс.Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11a
1.2.11a-forge-mc1.1824 авг. 2025 г.10,3 тыс.Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11a
1.2.11a-forge-mc1.1724 авг. 2025 г.101Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11a
1.2.11a-forge-mc1.1624 авг. 2025 г.2,8 тыс.Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.2.11a
- Fixed `show_breaking_overlay` option for block model modifiers not working
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11
1.2.11-neoforge-mc1.21.622 авг. 2025 г.11,3 тыс.Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.11
1.2.11-neoforge-mc1.21.522 авг. 2025 г.364Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.11
1.2.11-neoforge-mc1.21.422 авг. 2025 г.60Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.11
1.2.11-neoforge-mc1.21.322 авг. 2025 г.31Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11
1.2.11-neoforge-mc1.2122 авг. 2025 г.6,3 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11
1.2.11-neoforge-mc1.20.622 авг. 2025 г.21Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11
1.2.11-neoforge-mc1.20.422 авг. 2025 г.21Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.2.11
1.2.11-fabric-mc1.21.622 авг. 2025 г.75,2 тыс.Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.11
1.2.11-fabric-mc1.21.522 авг. 2025 г.11,7 тыс.Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11
1.2.11-fabric-mc1.21.422 авг. 2025 г.13,8 тыс.Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11
1.2.11-fabric-mc1.21.322 авг. 2025 г.4,9 тыс.Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11
1.2.11-fabric-mc1.2122 авг. 2025 г.751,2 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11
1.2.11-fabric-mc1.20.622 авг. 2025 г.671Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11
1.2.11-fabric-mc1.20.422 авг. 2025 г.5,8 тыс.Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.11
1.2.11-fabric-mc1.20.222 авг. 2025 г.360Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.11
1.2.11-fabric-mc1.20.122 авг. 2025 г.67,6 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11
1.2.11-fabric-mc1.19.422 авг. 2025 г.515Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11
1.2.11-fabric-mc1.19.222 авг. 2025 г.2,4 тыс.Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11
1.2.11-fabric-mc1.1822 авг. 2025 г.752Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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
- Fixed quad tinting sometimes taking tinting function from the wrong texture
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11
1.2.11-forge-mc1.21.622 авг. 2025 г.140Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.11
1.2.11-forge-mc1.21.522 авг. 2025 г.32Minecraft: 1.21.5forge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.11
1.2.11-forge-mc1.21.422 авг. 2025 г.59Minecraft: 1.21.4forge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11
1.2.11-forge-mc1.21.322 авг. 2025 г.18Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11
1.2.11-forge-mc1.2122 авг. 2025 г.111Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.11
1.2.11-forge-mc1.20.622 авг. 2025 г.35Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.11
1.2.11-forge-mc1.20.422 авг. 2025 г.33Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.11
1.2.11-forge-mc1.20.122 авг. 2025 г.8,6 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11
1.2.11-forge-mc1.19.422 авг. 2025 г.19Minecraft: 1.19.4forge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11
1.2.11-forge-mc1.19.322 авг. 2025 г.14Minecraft: 1.19.3forge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11
1.2.11-forge-mc1.19.222 авг. 2025 г.266,8 тыс.Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11
1.2.11-forge-mc1.1822 авг. 2025 г.130Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11
1.2.11-forge-mc1.1722 авг. 2025 г.13Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11
1.2.11-forge-mc1.1622 авг. 2025 г.91Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11
1.2.11-forge-mc1.1522 авг. 2025 г.100Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11
1.2.11-forge-mc1.1422 авг. 2025 г.216Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.11
1.2.11-forge-mc1.1222 авг. 2025 г.7,2 тыс.Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.2.11
- Added `show_breaking_overlay` option 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 `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.10a
1.2.10a-forge-mc1.21.68 авг. 2025 г.898Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.2.10a
- Fixed crash when getting render types for block model modifiers
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.10
1.2.10-neoforge-mc1.21.629 июл. 2025 г.5,4 тыс.Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.10
1.2.10-neoforge-mc1.21.529 июл. 2025 г.373Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.10
1.2.10-neoforge-mc1.21.429 июл. 2025 г.395Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.10
1.2.10-neoforge-mc1.21.329 июл. 2025 г.52Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.10
1.2.10-neoforge-mc1.2129 июл. 2025 г.30,7 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.10
1.2.10-neoforge-mc1.20.629 июл. 2025 г.32Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.10
1.2.10-neoforge-mc1.20.429 июл. 2025 г.62Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.2.10
1.2.10-fabric-mc1.21.629 июл. 2025 г.19,7 тыс.Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.10
1.2.10-fabric-mc1.21.529 июл. 2025 г.6,9 тыс.Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.10
1.2.10-fabric-mc1.21.429 июл. 2025 г.4,2 тыс.Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.10
1.2.10-fabric-mc1.21.329 июл. 2025 г.290Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.10
1.2.10-fabric-mc1.2129 июл. 2025 г.15,4 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.10
1.2.10-fabric-mc1.20.629 июл. 2025 г.231Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.10
1.2.10-fabric-mc1.20.429 июл. 2025 г.795Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.10
1.2.10-fabric-mc1.20.229 июл. 2025 г.172Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.10
1.2.10-fabric-mc1.20.129 июл. 2025 г.18,7 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.10
1.2.10-fabric-mc1.19.429 июл. 2025 г.143Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.10
1.2.10-fabric-mc1.19.229 июл. 2025 г.466Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.10
1.2.10-fabric-mc1.1829 июл. 2025 г.286Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.10
1.2.10-forge-mc1.21.629 июл. 2025 г.512Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.10
1.2.10-forge-mc1.21.529 июл. 2025 г.210Minecraft: 1.21.5forge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.10
1.2.10-forge-mc1.21.429 июл. 2025 г.206Minecraft: 1.21.4forge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.10
1.2.10-forge-mc1.21.329 июл. 2025 г.47Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.10
1.2.10-forge-mc1.2129 июл. 2025 г.881Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.10
1.2.10-forge-mc1.20.629 июл. 2025 г.69Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.10
1.2.10-forge-mc1.20.429 июл. 2025 г.175Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.10
1.2.10-forge-mc1.20.129 июл. 2025 г.79,2 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.10
1.2.10-forge-mc1.19.429 июл. 2025 г.88Minecraft: 1.19.4forge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.10
1.2.10-forge-mc1.19.329 июл. 2025 г.29Minecraft: 1.19.3forge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.10
1.2.10-forge-mc1.19.229 июл. 2025 г.17,9 тыс.Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.10
1.2.10-forge-mc1.1829 июл. 2025 г.1,4 тыс.Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.10
1.2.10-forge-mc1.1729 июл. 2025 г.40Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.10
1.2.10-forge-mc1.1629 июл. 2025 г.755Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.10
1.2.10-forge-mc1.1529 июл. 2025 г.41Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.10
1.2.10-forge-mc1.1429 июл. 2025 г.55Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.10
1.2.10-forge-mc1.1229 июл. 2025 г.1,6 тыс.Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.9a
1.2.9a-neoforge-mc1.21.629 июл. 2025 г.544Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.9a
1.2.9a-neoforge-mc1.21.529 июл. 2025 г.36Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.9a
1.2.9a-neoforge-mc1.21.429 июл. 2025 г.49Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.9a
1.2.9a-fabric-mc1.21.629 июл. 2025 г.202Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.9a
1.2.9a-fabric-mc1.21.529 июл. 2025 г.77Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.9a
1.2.9a-fabric-mc1.21.429 июл. 2025 г.72Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.9a
1.2.9a-forge-mc1.21.629 июл. 2025 г.43Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.9a
1.2.9a-forge-mc1.21.529 июл. 2025 г.27Minecraft: 1.21.5forge
Что нового
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.9a
1.2.9a-forge-mc1.21.429 июл. 2025 г.29Minecraft: 1.21.4forge
Что нового
### Fusion 1.2.9a
- Fixed crash when using model modifiers with mods using Puzzles Lib installed
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.9
1.2.9-neoforge-mc1.21.625 июл. 2025 г.1,7 тыс.Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.9
1.2.9-neoforge-mc1.21.525 июл. 2025 г.142Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.9
1.2.9-neoforge-mc1.21.425 июл. 2025 г.191Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.9
1.2.9-neoforge-mc1.21.325 июл. 2025 г.52Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.9
1.2.9-neoforge-mc1.2125 июл. 2025 г.9 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.9
1.2.9-neoforge-mc1.20.625 июл. 2025 г.38Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.9
1.2.9-neoforge-mc1.20.425 июл. 2025 г.51Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.2.9
1.2.9-fabric-mc1.21.625 июл. 2025 г.5,5 тыс.Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.9
1.2.9-fabric-mc1.21.525 июл. 2025 г.3 тыс.Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.9
1.2.9-fabric-mc1.21.425 июл. 2025 г.1,1 тыс.Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.9
1.2.9-fabric-mc1.21.325 июл. 2025 г.84Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.9
1.2.9-fabric-mc1.2125 июл. 2025 г.3,3 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.9
1.2.9-fabric-mc1.20.625 июл. 2025 г.76Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.9
1.2.9-fabric-mc1.20.425 июл. 2025 г.186Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.9
1.2.9-fabric-mc1.20.225 июл. 2025 г.74Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.9
1.2.9-fabric-mc1.20.125 июл. 2025 г.3,4 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.9
1.2.9-fabric-mc1.19.425 июл. 2025 г.76Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.9
1.2.9-fabric-mc1.19.225 июл. 2025 г.199Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.9
1.2.9-fabric-mc1.1825 июл. 2025 г.128Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.9
1.2.9-forge-mc1.21.625 июл. 2025 г.294Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.9
1.2.9-forge-mc1.21.525 июл. 2025 г.106Minecraft: 1.21.5forge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.9
1.2.9-forge-mc1.21.425 июл. 2025 г.100Minecraft: 1.21.4forge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.9
1.2.9-forge-mc1.21.325 июл. 2025 г.36Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.9
1.2.9-forge-mc1.2125 июл. 2025 г.409Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.9
1.2.9-forge-mc1.20.625 июл. 2025 г.46Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.9
1.2.9-forge-mc1.20.425 июл. 2025 г.892Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.9
1.2.9-forge-mc1.20.125 июл. 2025 г.21,2 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.9
1.2.9-forge-mc1.19.425 июл. 2025 г.45Minecraft: 1.19.4forge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.9
1.2.9-forge-mc1.19.325 июл. 2025 г.38Minecraft: 1.19.3forge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.9
1.2.9-forge-mc1.19.225 июл. 2025 г.581Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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 `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.9
1.2.9-forge-mc1.1825 июл. 2025 г.579Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.9
1.2.9-forge-mc1.1725 июл. 2025 г.32Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.9
1.2.9-forge-mc1.1625 июл. 2025 г.238Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.9
1.2.9-forge-mc1.1525 июл. 2025 г.31Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.9
1.2.9-forge-mc1.1425 июл. 2025 г.58Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.9
1.2.9-forge-mc1.1225 июл. 2025 г.615Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.2.9
- Fixed `pieced` layout 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.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.8a
1.2.8a-forge-mc1.19.217 июл. 2025 г.747Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.2.8a
- Fixed `MultiPartBakedModelMixin` not listed in mixins
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.8a
1.2.8a-fabric-mc1.20.115 июл. 2025 г.6 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.8a
1.2.8a-fabric-mc1.19.415 июл. 2025 г.66Minecraft: 1.19.4fabric, quilt
Что нового
### 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 inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.8a
1.2.8a-forge-mc1.20.115 июл. 2025 г.30,5 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.8a
1.2.8a-forge-mc1.19.415 июл. 2025 г.50Minecraft: 1.19.4forge
Что нового
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.8a
1.2.8a-forge-mc1.19.315 июл. 2025 г.27Minecraft: 1.19.3forge
Что нового
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.8
1.2.8-neoforge-mc1.21.613 июл. 2025 г.850Minecraft: 1.21.6, 1.21.7, 1.21.8neoforge
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.8
1.2.8-neoforge-mc1.21.513 июл. 2025 г.262Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `pane_culling_fix` discarding render type and ambient occlusion properties
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.8
1.2.8-neoforge-mc1.21.413 июл. 2025 г.198Minecraft: 1.21.4neoforge
Что нового
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.8
1.2.8-neoforge-mc1.21.313 июл. 2025 г.29Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.8
1.2.8-neoforge-mc1.2113 июл. 2025 г.24,2 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.8
1.2.8-neoforge-mc1.20.613 июл. 2025 г.37Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.8
1.2.8-neoforge-mc1.20.413 июл. 2025 г.55Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from NeoForge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.2.8
1.2.8-fabric-mc1.21.613 июл. 2025 г.10,4 тыс.Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.8
1.2.8-fabric-mc1.21.513 июл. 2025 г.2,9 тыс.Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.8
1.2.8-fabric-mc1.21.413 июл. 2025 г.2,2 тыс.Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.8
1.2.8-fabric-mc1.21.313 июл. 2025 г.183Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.8
1.2.8-fabric-mc1.2113 июл. 2025 г.8,7 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.8
1.2.8-fabric-mc1.20.613 июл. 2025 г.107Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layer
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.8
1.2.8-fabric-mc1.20.413 июл. 2025 г.291Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.8
1.2.8-fabric-mc1.20.213 июл. 2025 г.72Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.8
1.2.8-fabric-mc1.20.113 июл. 2025 г.16,8 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.8
1.2.8-fabric-mc1.19.413 июл. 2025 г.24Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture 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.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.8
1.2.8-fabric-mc1.19.213 июл. 2025 г.243Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.8
1.2.8-fabric-mc1.1813 июл. 2025 г.149Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.8
1.2.8-forge-mc1.21.613 июл. 2025 г.652Minecraft: 1.21.6, 1.21.7, 1.21.8forge
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.8
1.2.8-forge-mc1.21.513 июл. 2025 г.125Minecraft: 1.21.5forge
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.8
1.2.8-forge-mc1.21.413 июл. 2025 г.137Minecraft: 1.21.4forge
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.8
1.2.8-forge-mc1.21.313 июл. 2025 г.27Minecraft: 1.21.2, 1.21.3forge
Что нового
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.8
1.2.8-forge-mc1.2113 июл. 2025 г.407Minecraft: 1.21, 1.21.1forge
Что нового
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.8
1.2.8-forge-mc1.20.613 июл. 2025 г.42Minecraft: 1.20.5, 1.20.6forge
Что нового
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` and `dimension` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.8
1.2.8-forge-mc1.20.413 июл. 2025 г.99Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed overrides folder not working for resource packs which use vanilla resource overlays
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.8
1.2.8-forge-mc1.20.113 июл. 2025 г.10,4 тыс.Minecraft: 1.20, 1.20.1forge
Что нового
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.8
1.2.8-forge-mc1.19.413 июл. 2025 г.23Minecraft: 1.19.4forge
Что нового
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.8
1.2.8-forge-mc1.19.313 июл. 2025 г.18Minecraft: 1.19.3forge
Что нового
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.8
1.2.8-forge-mc1.19.213 июл. 2025 г.376Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### 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 `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.8
1.2.8-forge-mc1.1813 июл. 2025 г.1,1 тыс.Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed crash when evaluating `biome` entity predicate
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.8
1.2.8-forge-mc1.1713 июл. 2025 г.24Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.8
1.2.8-forge-mc1.1613 июл. 2025 г.367Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads being emitted 7 times for `base` and `connecting` models when rendered as items
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models when rendered as items
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.8
1.2.8-forge-mc1.1513 июл. 2025 г.22Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.8
1.2.8-forge-mc1.1413 июл. 2025 г.35Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
- Fixed model modifiers placed in overrides folder in zipped resource packs not getting loaded
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.8
1.2.8-forge-mc1.1213 июл. 2025 г.835Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Added compatibility for Vintagium and Relictium
- Fixed quads with different render types being ordered randomly for `base` and `connecting` models
- Fixed inverted vertical tile ordering for `continuous` textures
- Fixed `DefaultConnectionPredicates#isFaceVisible` returning `is_same_block` predicate
- Fixed `NotConnectionPredicate` serialization being invalid
- Fixed `random` texture seed always being 0 for bottom side
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7a
1.2.7a-fabric-mc1.21.67 июл. 2025 г.4,2 тыс.Minecraft: 1.21.6, 1.21.7fabric, quilt
Что нового
### Fusion 1.2.7a
- Fixed quads not getting culled for `base` and `connecting` models
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.7
1.2.7-neoforge-mc1.21.65 июл. 2025 г.368Minecraft: 1.21.6, 1.21.7neoforge
Что нового
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.7
1.2.7-fabric-mc1.21.65 июл. 2025 г.1,7 тыс.Minecraft: 1.21.6, 1.21.7fabric, quilt
Что нового
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.7
1.2.7-forge-mc1.21.65 июл. 2025 г.245Minecraft: 1.21.6, 1.21.7forge
Что нового
### Fusion 1.2.7
- Initial release of Fusion for Minecraft 1.21.6 & 1.21.7
release
Fusion 1.2.7b
1.2.7b-neoforge-mc1.21.422 апр. 2025 г.1,6 тыс.Minecraft: 1.21.4neoforge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.7b
1.2.7b-neoforge-mc1.21.322 апр. 2025 г.159Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.7b
1.2.7b-neoforge-mc1.2122 апр. 2025 г.111,7 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.7b
1.2.7b-neoforge-mc1.20.622 апр. 2025 г.130Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.7b
1.2.7b-neoforge-mc1.20.422 апр. 2025 г.406Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.2.7b
1.2.7b-forge-mc1.21.422 апр. 2025 г.1,2 тыс.Minecraft: 1.21.4forge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.7b
1.2.7b-forge-mc1.21.322 апр. 2025 г.152Minecraft: 1.21.2, 1.21.3forge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.7b
1.2.7b-forge-mc1.2122 апр. 2025 г.2,6 тыс.Minecraft: 1.21, 1.21.1forge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.7b
1.2.7b-forge-mc1.20.622 апр. 2025 г.202Minecraft: 1.20.5, 1.20.6forge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.7b
1.2.7b-forge-mc1.20.422 апр. 2025 г.560Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.7b
1.2.7b-forge-mc1.20.122 апр. 2025 г.354,5 тыс.Minecraft: 1.20, 1.20.1forge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7b
1.2.7b-forge-mc1.19.422 апр. 2025 г.1,1 тыс.Minecraft: 1.19.4forge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7b
1.2.7b-forge-mc1.19.322 апр. 2025 г.64Minecraft: 1.19.3forge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7b
1.2.7b-forge-mc1.19.222 апр. 2025 г.50 тыс.Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7b
1.2.7b-fabric-mc1.21.522 апр. 2025 г.29,9 тыс.Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.7b
1.2.7b-neoforge-mc1.21.522 апр. 2025 г.10 тыс.Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.2.7b
- Changed `#createGeometryKey` to provide a globally unique value by including the model itself
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.7a
1.2.7a-neoforge-mc1.21.522 апр. 2025 г.49Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.7a
1.2.7a-fabric-mc1.21.522 апр. 2025 г.733Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.2.7a
- Implemented `#createGeometryKey` for base and connecting models, so they can be cached
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.7a
1.2.7a-neoforge-mc1.21.422 апр. 2025 г.42Minecraft: 1.21.4neoforge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.7a
1.2.7a-neoforge-mc1.21.322 апр. 2025 г.30Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.7a
1.2.7a-neoforge-mc1.2122 апр. 2025 г.477Minecraft: 1.21, 1.21.1neoforge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.7a
1.2.7a-neoforge-mc1.20.622 апр. 2025 г.20Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.7a
1.2.7a-neoforge-mc1.20.422 апр. 2025 г.22Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.2.7a
1.2.7a-forge-mc1.21.422 апр. 2025 г.45Minecraft: 1.21.4forge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.7a
1.2.7a-forge-mc1.21.322 апр. 2025 г.22Minecraft: 1.21.2, 1.21.3forge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.7a
1.2.7a-forge-mc1.2122 апр. 2025 г.38Minecraft: 1.21, 1.21.1forge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.7a
1.2.7a-forge-mc1.20.622 апр. 2025 г.29Minecraft: 1.20.5, 1.20.6forge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.7a
1.2.7a-forge-mc1.20.422 апр. 2025 г.21Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.7a
1.2.7a-forge-mc1.20.122 апр. 2025 г.2,8 тыс.Minecraft: 1.20, 1.20.1forge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7a
1.2.7a-forge-mc1.19.422 апр. 2025 г.26Minecraft: 1.19.4forge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7a
1.2.7a-forge-mc1.19.322 апр. 2025 г.23Minecraft: 1.19.3forge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7a
1.2.7a-forge-mc1.19.222 апр. 2025 г.96Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### 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 `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7a
1.2.7a-forge-mc1.1822 апр. 2025 г.8,5 тыс.Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7a
1.2.7a-forge-mc1.1722 апр. 2025 г.86Minecraft: 1.17, 1.17.1forge
Что нового
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7a
1.2.7a-forge-mc1.1622 апр. 2025 г.2,7 тыс.Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7a
1.2.7a-forge-mc1.1522 апр. 2025 г.86Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7a
1.2.7a-forge-mc1.1422 апр. 2025 г.109Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### 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 `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7
1.2.7-neoforge-mc1.21.513 апр. 2025 г.374Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.7
1.2.7-neoforge-mc1.21.413 апр. 2025 г.275Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.7
1.2.7-neoforge-mc1.21.313 апр. 2025 г.43Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.7
1.2.7-neoforge-mc1.2113 апр. 2025 г.11,5 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.7
1.2.7-neoforge-mc1.20.613 апр. 2025 г.37Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.7
1.2.7-neoforge-mc1.20.413 апр. 2025 г.45Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.2.7
1.2.7-fabric-mc1.21.513 апр. 2025 г.6,2 тыс.Minecraft: 1.21.5fabric, quilt
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.7
1.2.7-fabric-mc1.21.413 апр. 2025 г.20,6 тыс.Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.7
1.2.7-fabric-mc1.21.313 апр. 2025 г.1,7 тыс.Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.7
1.2.7-fabric-mc1.2113 апр. 2025 г.48,4 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.7
1.2.7-fabric-mc1.20.613 апр. 2025 г.674Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.7
1.2.7-fabric-mc1.20.413 апр. 2025 г.2,7 тыс.Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.7
1.2.7-fabric-mc1.20.213 апр. 2025 г.483Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.7
1.2.7-fabric-mc1.20.113 апр. 2025 г.62,2 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7
1.2.7-fabric-mc1.19.413 апр. 2025 г.437Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7
1.2.7-fabric-mc1.19.213 апр. 2025 г.2,3 тыс.Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7
1.2.7-fabric-mc1.1813 апр. 2025 г.2,1 тыс.Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7
1.2.7-forge-mc1.21.513 апр. 2025 г.1,5 тыс.Minecraft: 1.21.5forge
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.7
1.2.7-forge-mc1.21.413 апр. 2025 г.237Minecraft: 1.21.4forge
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.7
1.2.7-forge-mc1.21.313 апр. 2025 г.50Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.7
1.2.7-forge-mc1.2113 апр. 2025 г.379Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.7
1.2.7-forge-mc1.20.613 апр. 2025 г.33Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.7
1.2.7-forge-mc1.20.413 апр. 2025 г.122Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.7
1.2.7-forge-mc1.20.113 апр. 2025 г.40,4 тыс.Minecraft: 1.20, 1.20.1forge
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7
1.2.7-forge-mc1.19.413 апр. 2025 г.88Minecraft: 1.19.4forge
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7
1.2.7-forge-mc1.19.313 апр. 2025 г.22Minecraft: 1.19.3forge
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7
1.2.7-forge-mc1.19.213 апр. 2025 г.1,2 тыс.Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7
1.2.7-forge-mc1.1813 апр. 2025 г.410Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7
1.2.7-forge-mc1.1713 апр. 2025 г.32Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7
1.2.7-forge-mc1.1613 апр. 2025 г.382Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7
1.2.7-forge-mc1.1513 апр. 2025 г.35Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7
1.2.7-forge-mc1.1413 апр. 2025 г.36Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.7
1.2.7-forge-mc1.1213 апр. 2025 г.8,2 тыс.Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.2.7
- Fixed argument validation for `count` and `durability` item predicates
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6a
1.2.6a-neoforge-mc1.21.512 апр. 2025 г.25Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.6a
1.2.6a-forge-mc1.21.512 апр. 2025 г.26Minecraft: 1.21.5forge
Что нового
### Fusion 1.2.6a
- Fixed `pane_culling_fix` causing crashes
- Fixed crash when Iris is installed
### Fusion 1.2.6
- Initial release of Fusion for Minecraft 1.21.5
release
Fusion 1.2.6
1.2.6-neoforge-mc1.21.511 апр. 2025 г.98Minecraft: 1.21.5neoforge
Что нового
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.6
1.2.6-fabric-mc1.21.511 апр. 2025 г.1,1 тыс.Minecraft: 1.21.5fabric, quilt
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.6
1.2.6-forge-mc1.21.511 апр. 2025 г.85Minecraft: 1.21.5forge
Что нового
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.6a
1.2.6a-neoforge-mc1.21.48 апр. 2025 г.175Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.6a
1.2.6a-neoforge-mc1.21.38 апр. 2025 г.35Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.6a
1.2.6a-neoforge-mc1.218 апр. 2025 г.4,8 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.6a
1.2.6a-neoforge-mc1.20.68 апр. 2025 г.28Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.6a
1.2.6a-neoforge-mc1.20.48 апр. 2025 г.21Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.2.6a
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.2.6b
1.2.6b-forge-mc1.21.48 апр. 2025 г.124Minecraft: 1.21.4forge
Что нового
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.6b
1.2.6b-forge-mc1.21.38 апр. 2025 г.27Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.6b
1.2.6b-forge-mc1.218 апр. 2025 г.157Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.6b
1.2.6b-forge-mc1.20.68 апр. 2025 г.42Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.6b
1.2.6b-forge-mc1.20.48 апр. 2025 г.65Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.6b
1.2.6b-forge-mc1.20.18 апр. 2025 г.7,1 тыс.Minecraft: 1.20, 1.20.1forge
Что нового
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6b
1.2.6b-forge-mc1.19.48 апр. 2025 г.27Minecraft: 1.19.4forge
Что нового
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6b
1.2.6b-forge-mc1.19.38 апр. 2025 г.28Minecraft: 1.19.3forge
Что нового
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6b
1.2.6b-forge-mc1.19.28 апр. 2025 г.454Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.2.6b
- Fixed `connecting` and `base` models not always using correct render type when rendered as items
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6a
1.2.6a-forge-mc1.21.48 апр. 2025 г.39Minecraft: 1.21.4forge
Что нового
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.6a
1.2.6a-forge-mc1.21.38 апр. 2025 г.21Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.6a
1.2.6a-forge-mc1.218 апр. 2025 г.59Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.6a
1.2.6a-forge-mc1.20.68 апр. 2025 г.20Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.6a
1.2.6a-forge-mc1.20.48 апр. 2025 г.27Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.6a
1.2.6a-forge-mc1.20.18 апр. 2025 г.1,3 тыс.Minecraft: 1.20, 1.20.1forge
Что нового
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6a
1.2.6a-forge-mc1.19.48 апр. 2025 г.24Minecraft: 1.19.4forge
Что нового
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6a
1.2.6a-forge-mc1.19.38 апр. 2025 г.20Minecraft: 1.19.3forge
Что нового
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6a
1.2.6a-forge-mc1.19.28 апр. 2025 г.109Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.2.6a
- Fixed multipart models not passing model [MinecraftForge#10523](https://github.com/MinecraftForge/MinecraftForge/issues/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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6a
1.2.6a-forge-mc1.127 апр. 2025 г.348Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6a
1.2.6a-forge-mc1.127 апр. 2025 г.35Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.2.6a
- Fixed model showing no quads when using `pane_culling_fix`
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6
1.2.6-neoforge-mc1.21.47 апр. 2025 г.49Minecraft: 1.21.4neoforge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.6
1.2.6-neoforge-mc1.21.37 апр. 2025 г.20Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.6
1.2.6-neoforge-mc1.217 апр. 2025 г.1,2 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.6
1.2.6-neoforge-mc1.20.67 апр. 2025 г.22Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.6
1.2.6-neoforge-mc1.20.47 апр. 2025 г.22Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.2.6
1.2.6-fabric-mc1.21.47 апр. 2025 г.2,4 тыс.Minecraft: 1.21.4fabric, quilt
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.6
1.2.6-fabric-mc1.21.37 апр. 2025 г.119Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.6
1.2.6-fabric-mc1.217 апр. 2025 г.3,4 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.6
1.2.6-fabric-mc1.20.67 апр. 2025 г.82Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.6
1.2.6-fabric-mc1.20.47 апр. 2025 г.222Minecraft: 1.20.4fabric, quilt
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.6
1.2.6-fabric-mc1.20.27 апр. 2025 г.51Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.6
1.2.6-fabric-mc1.20.17 апр. 2025 г.2,8 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6
1.2.6-fabric-mc1.19.47 апр. 2025 г.52Minecraft: 1.19.4fabric, quilt
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6
1.2.6-fabric-mc1.19.27 апр. 2025 г.102Minecraft: 1.19.2fabric, quilt
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6
1.2.6-fabric-mc1.187 апр. 2025 г.114Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6
1.2.6-forge-mc1.21.47 апр. 2025 г.26Minecraft: 1.21.4forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.6
1.2.6-forge-mc1.21.37 апр. 2025 г.19Minecraft: 1.21.2, 1.21.3forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.6
1.2.6-forge-mc1.217 апр. 2025 г.24Minecraft: 1.21, 1.21.1forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.6
1.2.6-forge-mc1.20.67 апр. 2025 г.18Minecraft: 1.20.5, 1.20.6forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.6
1.2.6-forge-mc1.20.47 апр. 2025 г.20Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.6
1.2.6-forge-mc1.20.17 апр. 2025 г.649Minecraft: 1.20, 1.20.1forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.5
1.2.5-forge-mc1.19.47 апр. 2025 г.14Minecraft: 1.19.4forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6
1.2.6-forge-mc1.19.37 апр. 2025 г.16Minecraft: 1.19.3forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6
1.2.6-forge-mc1.19.27 апр. 2025 г.77Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6
1.2.6-forge-mc1.187 апр. 2025 г.215Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6
1.2.6-forge-mc1.177 апр. 2025 г.26Minecraft: 1.17, 1.17.1forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6
1.2.6-forge-mc1.167 апр. 2025 г.150Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6
1.2.6-forge-mc1.157 апр. 2025 г.20Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6
1.2.6-forge-mc1.147 апр. 2025 г.34Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.6
1.2.6-forge-mc1.127 апр. 2025 г.37Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.5
1.2.5-neoforge-mc1.21.417 мар. 2025 г.5,3 тыс.Minecraft: 1.21.4neoforge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.5
1.2.5-neoforge-mc1.21.317 мар. 2025 г.60Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.5
1.2.5-neoforge-mc1.2117 мар. 2025 г.23,5 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.5
1.2.5-neoforge-mc1.20.617 мар. 2025 г.58Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.5
1.2.5-neoforge-mc1.20.417 мар. 2025 г.59Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.2.5
1.2.5-fabric-mc1.21.417 мар. 2025 г.6,7 тыс.Minecraft: 1.21.4fabric, quilt
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.5
1.2.5-fabric-mc1.21.317 мар. 2025 г.319Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.5
1.2.5-fabric-mc1.2117 мар. 2025 г.325,7 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.5
1.2.5-fabric-mc1.20.617 мар. 2025 г.234Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.5
1.2.5-fabric-mc1.20.417 мар. 2025 г.744Minecraft: 1.20.4fabric, quilt
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.5
1.2.5-fabric-mc1.20.217 мар. 2025 г.142Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.5
1.2.5-fabric-mc1.20.117 мар. 2025 г.14,3 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.5
1.2.5-fabric-mc1.19.417 мар. 2025 г.106Minecraft: 1.19.4fabric, quilt
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.5
1.2.5-fabric-mc1.19.217 мар. 2025 г.2,4 тыс.Minecraft: 1.19.2fabric, quilt
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.5
1.2.5-fabric-mc1.1817 мар. 2025 г.236Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.5
1.2.5-forge-mc1.21.417 мар. 2025 г.382Minecraft: 1.21.4forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.5
1.2.5-forge-mc1.21.317 мар. 2025 г.51Minecraft: 1.21.2, 1.21.3forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.5
1.2.5-forge-mc1.2117 мар. 2025 г.641Minecraft: 1.21, 1.21.1forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.5
1.2.5-forge-mc1.20.617 мар. 2025 г.64Minecraft: 1.20.5, 1.20.6forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.5
1.2.5-forge-mc1.20.417 мар. 2025 г.199Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.5
1.2.5-forge-mc1.20.117 мар. 2025 г.98,6 тыс.Minecraft: 1.20, 1.20.1forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.5
1.2.5-forge-mc1.19.417 мар. 2025 г.99Minecraft: 1.19.4forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.5
1.2.5-forge-mc1.19.317 мар. 2025 г.24Minecraft: 1.19.3forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.5
1.2.5-forge-mc1.19.217 мар. 2025 г.2,5 тыс.Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.5
1.2.5-forge-mc1.1817 мар. 2025 г.1,7 тыс.Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.5
1.2.5-forge-mc1.1717 мар. 2025 г.35Minecraft: 1.17, 1.17.1forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.5
1.2.5-forge-mc1.1617 мар. 2025 г.689Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### 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 `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.5
1.2.5-forge-mc1.1517 мар. 2025 г.37Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.5
1.2.5-forge-mc1.1417 мар. 2025 г.50Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.5
1.2.5-forge-mc1.1217 мар. 2025 г.10,6 тыс.Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### 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 `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.4
1.2.4-neoforge-mc1.21.411 февр. 2025 г.3,4 тыс.Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
- Account for breaking changes in NeoForge 21.4.84-beta
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.4
1.2.4-neoforge-mc1.21.311 февр. 2025 г.79Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.4
1.2.4-neoforge-mc1.2111 февр. 2025 г.20,3 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.4
1.2.4-neoforge-mc1.20.611 февр. 2025 г.62Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.4
1.2.4-neoforge-mc1.20.411 февр. 2025 г.392Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.2.4
1.2.4-fabric-mc1.21.411 февр. 2025 г.13,7 тыс.Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.4
1.2.4-fabric-mc1.21.311 февр. 2025 г.656Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.4
1.2.4-fabric-mc1.2111 февр. 2025 г.26,6 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.4
1.2.4-fabric-mc1.20.611 февр. 2025 г.393Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.4
1.2.4-fabric-mc1.20.411 февр. 2025 г.1,2 тыс.Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.4
1.2.4-fabric-mc1.20.211 февр. 2025 г.228Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.4
1.2.4-fabric-mc1.20.111 февр. 2025 г.34,6 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.4
1.2.4-fabric-mc1.19.411 февр. 2025 г.208Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.4
1.2.4-fabric-mc1.19.211 февр. 2025 г.812Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.4
1.2.4-fabric-mc1.1811 февр. 2025 г.388Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.4
1.2.4-forge-mc1.21.411 февр. 2025 г.702Minecraft: 1.21.4forge
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.4
1.2.4-forge-mc1.21.311 февр. 2025 г.85Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.4
1.2.4-forge-mc1.2111 февр. 2025 г.954Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.4
1.2.4-forge-mc1.20.611 февр. 2025 г.124Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.4
1.2.4-forge-mc1.20.411 февр. 2025 г.349Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.4
1.2.4-forge-mc1.20.111 февр. 2025 г.280,1 тыс.Minecraft: 1.20, 1.20.1forge
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.4
1.2.4-forge-mc1.19.411 февр. 2025 г.185Minecraft: 1.19.4forge
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.4
1.2.4-forge-mc1.19.311 февр. 2025 г.36Minecraft: 1.19.3forge
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.4
1.2.4-forge-mc1.19.211 февр. 2025 г.5,1 тыс.Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.4
1.2.4-forge-mc1.1811 февр. 2025 г.2,8 тыс.Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.4
1.2.4-forge-mc1.1711 февр. 2025 г.44Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.4
1.2.4-forge-mc1.1611 февр. 2025 г.1,2 тыс.Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
- Fixed non-custom render type quads not being rendered in item models for `base` and `connecting` models
- Files generated through `FusionModelProvider` are now tracked in the existing file helper
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.4
1.2.4-forge-mc1.1511 февр. 2025 г.47Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.4
1.2.4-forge-mc1.1411 февр. 2025 г.49Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.4
1.2.4-forge-mc1.1211 февр. 2025 г.1,7 тыс.Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence `pieced` layout not looking correct when rotated
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.3
1.2.3-neoforge-mc1.21.420 янв. 2025 г.1,7 тыс.Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.3
1.2.3-neoforge-mc1.21.320 янв. 2025 г.91Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.3
1.2.3-neoforge-mc1.2120 янв. 2025 г.5,7 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.3
1.2.3-neoforge-mc1.20.620 янв. 2025 г.52Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.3
1.2.3-neoforge-mc1.20.420 янв. 2025 г.95Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.2.3
1.2.3-fabric-mc1.21.420 янв. 2025 г.7,2 тыс.Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.3
1.2.3-fabric-mc1.21.320 янв. 2025 г.527Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.3
1.2.3-fabric-mc1.2120 янв. 2025 г.13,5 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.3
1.2.3-fabric-mc1.20.620 янв. 2025 г.244Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.3
1.2.3-fabric-mc1.20.420 янв. 2025 г.796Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.3
1.2.3-fabric-mc1.20.220 янв. 2025 г.182Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.3
1.2.3-fabric-mc1.20.120 янв. 2025 г.17,9 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.3
1.2.3-fabric-mc1.19.420 янв. 2025 г.183Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.3
1.2.3-fabric-mc1.19.220 янв. 2025 г.1,5 тыс.Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.3
1.2.3-fabric-mc1.1820 янв. 2025 г.2,8 тыс.Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.3
1.2.3-forge-mc1.21.420 янв. 2025 г.446Minecraft: 1.21.4forge
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.3
1.2.3-forge-mc1.21.320 янв. 2025 г.70Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.3
1.2.3-forge-mc1.2120 янв. 2025 г.583Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.3
1.2.3-forge-mc1.20.620 янв. 2025 г.82Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.3
1.2.3-forge-mc1.20.420 янв. 2025 г.243Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.3
1.2.3-forge-mc1.20.120 янв. 2025 г.60,8 тыс.Minecraft: 1.20, 1.20.1forge
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.3
1.2.3-forge-mc1.19.420 янв. 2025 г.98Minecraft: 1.19.4forge
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.3
1.2.3-forge-mc1.19.320 янв. 2025 г.39Minecraft: 1.19.3forge
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.3
1.2.3-forge-mc1.19.220 янв. 2025 г.3,1 тыс.Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.3
1.2.3-forge-mc1.1820 янв. 2025 г.8,3 тыс.Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Fixed connecting textures not working when using the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.3
1.2.3-forge-mc1.1720 янв. 2025 г.41Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.3
1.2.3-forge-mc1.1620 янв. 2025 г.758Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Fixed error spam and invisible model when `base` or `connecting` models are rendered as items
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.3
1.2.3-forge-mc1.1520 янв. 2025 г.34Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.3
1.2.3-forge-mc1.1420 янв. 2025 г.46Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.3
1.2.3-forge-mc1.1220 янв. 2025 г.1,1 тыс.Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.2.3
- Added special casing for `builtin/generated` parent model to make it work properly
- Fixed custom texture render types not working with multipart models and the `pane_culling_fix` option
- Added Turkish translations (thanks to RuyaSavascisi!)
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2a
1.2.2a-neoforge-mc1.20.418 янв. 2025 г.38Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.2.2a
1.2.2a-neoforge-mc1.20.618 янв. 2025 г.28Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.2a
1.2.2a-neoforge-mc1.2118 янв. 2025 г.563Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.2a
1.2.2a-neoforge-mc1.21.318 янв. 2025 г.56Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.2.2a
- Fixed crash when obtaining model data for a multipart model
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.2a
1.2.2a-forge-mc1.1813 янв. 2025 г.11,6 тыс.Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2a
1.2.2a-forge-mc1.1713 янв. 2025 г.34Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2a
1.2.2a-forge-mc1.1613 янв. 2025 г.199Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2a
1.2.2a-forge-mc1.1513 янв. 2025 г.30Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2a
1.2.2a-forge-mc1.1413 янв. 2025 г.26Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.2.2a
- Fixed `base` and `connecting` models sometimes not showing all quads for modded blocks with a custom render type
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2a
1.2.2a-forge-mc1.1213 янв. 2025 г.416Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.2.2a
- Fixed error for `base` and `connecting` models when they have quads with no cull direction
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2a
1.2.2a-fabric-mc1.21.413 янв. 2025 г.2,2 тыс.Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.2a
1.2.2a-fabric-mc1.21.313 янв. 2025 г.248Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.2a
1.2.2a-fabric-mc1.2113 янв. 2025 г.5 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.2a
1.2.2a-fabric-mc1.20.613 янв. 2025 г.96Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.2a
1.2.2a-fabric-mc1.20.413 янв. 2025 г.371Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.2a
1.2.2a-fabric-mc1.20.213 янв. 2025 г.135Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.2a
1.2.2a-fabric-mc1.20.113 янв. 2025 г.7,8 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2a
1.2.2a-fabric-mc1.19.413 янв. 2025 г.442Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2a
1.2.2a-fabric-mc1.19.213 янв. 2025 г.226Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2a
1.2.2a-fabric-mc1.1813 янв. 2025 г.96Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.2.2a
- Fixed custom texture render types not working for items
- Fixed custom texture tinting not working properly for connecting textures when Sodium is installed
- Fixed crash with Sodium
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2
1.2.2-neoforge-mc1.21.411 янв. 2025 г.1,5 тыс.Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.2
1.2.2-neoforge-mc1.21.310 янв. 2025 г.46Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.2
1.2.2-neoforge-mc1.2110 янв. 2025 г.2,1 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.2
1.2.2-neoforge-mc1.20.610 янв. 2025 г.34Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.2
1.2.2-neoforge-mc1.20.410 янв. 2025 г.66Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.2.2
1.2.2-fabric-mc1.21.410 янв. 2025 г.664Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.2
1.2.2-fabric-mc1.21.310 янв. 2025 г.118Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.2
1.2.2-fabric-mc1.2110 янв. 2025 г.2,5 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.2
1.2.2-fabric-mc1.20.610 янв. 2025 г.57Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.2
1.2.2-fabric-mc1.20.410 янв. 2025 г.156Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.2
1.2.2-fabric-mc1.20.210 янв. 2025 г.41Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.2
1.2.2-fabric-mc1.20.110 янв. 2025 г.1,8 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2
1.2.2-fabric-mc1.19.410 янв. 2025 г.31Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2
1.2.2-fabric-mc1.19.210 янв. 2025 г.85Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2
1.2.2-fabric-mc1.1810 янв. 2025 г.51Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2
1.2.2-forge-mc1.21.410 янв. 2025 г.185Minecraft: 1.21.4forge
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.2
1.2.2-forge-mc1.21.310 янв. 2025 г.47Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.2
1.2.2-forge-mc1.2110 янв. 2025 г.269Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.2
1.2.2-forge-mc1.20.610 янв. 2025 г.48Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.2
1.2.2-forge-mc1.20.410 янв. 2025 г.120Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.2
1.2.2-forge-mc1.20.110 янв. 2025 г.23,6 тыс.Minecraft: 1.20, 1.20.1forge
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2
1.2.2-forge-mc1.19.410 янв. 2025 г.57Minecraft: 1.19.4forge
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2
1.2.2-forge-mc1.19.310 янв. 2025 г.25Minecraft: 1.19.3forge
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2
1.2.2-forge-mc1.19.210 янв. 2025 г.1,1 тыс.Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2
1.2.2-forge-mc1.1810 янв. 2025 г.141Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling 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_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2
1.2.2-forge-mc1.1710 янв. 2025 г.25Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2
1.2.2-forge-mc1.1610 янв. 2025 г.148Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2
1.2.2-forge-mc1.1510 янв. 2025 г.21Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2
1.2.2-forge-mc1.1410 янв. 2025 г.29Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.2
1.2.2-forge-mc1.1210 янв. 2025 г.228Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.2.2
- Fixed `pane_culling_fix` culling being inverted, culling only quads which should not be
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.1
1.2.1-neoforge-mc1.21.49 янв. 2025 г.79Minecraft: 1.21.4neoforge
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.1
1.2.1-neoforge-mc1.21.39 янв. 2025 г.28Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.1
1.2.1-neoforge-mc1.219 янв. 2025 г.246Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.1
1.2.1-neoforge-mc1.20.69 янв. 2025 г.30Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.1
1.2.1-neoforge-mc1.20.49 янв. 2025 г.26Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.2.1
1.2.1-fabric-mc1.21.49 янв. 2025 г.297Minecraft: 1.21.4fabric, quilt
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.1
1.2.1-fabric-mc1.21.39 янв. 2025 г.48Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.1
1.2.1-fabric-mc1.219 янв. 2025 г.1,5 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.1
1.2.1-fabric-mc1.20.69 янв. 2025 г.37Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.1
1.2.1-fabric-mc1.20.49 янв. 2025 г.75Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.1
1.2.1-fabric-mc1.20.29 янв. 2025 г.22Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.1
1.2.1-fabric-mc1.20.19 янв. 2025 г.825Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.1
1.2.1-fabric-mc1.19.49 янв. 2025 г.28Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.1
1.2.1-fabric-mc1.19.29 янв. 2025 г.48Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.1
1.2.1-fabric-mc1.189 янв. 2025 г.49Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.1
1.2.1-forge-mc1.21.49 янв. 2025 г.73Minecraft: 1.21.4forge
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.1
1.2.1-forge-mc1.21.39 янв. 2025 г.42Minecraft: 1.21.2, 1.21.3forge
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.1
1.2.1-forge-mc1.219 янв. 2025 г.66Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.1
1.2.1-forge-mc1.20.69 янв. 2025 г.20Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.1
1.2.1-forge-mc1.20.49 янв. 2025 г.25Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.1
1.2.1-forge-mc1.20.19 янв. 2025 г.1,7 тыс.Minecraft: 1.20, 1.20.1forge
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.1
1.2.1-forge-mc1.19.49 янв. 2025 г.26Minecraft: 1.19.4forge
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.1
1.2.1-forge-mc1.19.39 янв. 2025 г.19Minecraft: 1.19.3forge
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.1
1.2.1-forge-mc1.19.29 янв. 2025 г.110Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.1
1.2.1-forge-mc1.189 янв. 2025 г.80Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.1
1.2.1-forge-mc1.179 янв. 2025 г.20Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.1
1.2.1-forge-mc1.169 янв. 2025 г.42Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.1
1.2.1-forge-mc1.159 янв. 2025 г.21Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.1
1.2.1-forge-mc1.149 янв. 2025 г.22Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.1
1.2.1-forge-mc1.129 янв. 2025 г.116Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only `pane_culling_fix` option 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.0
1.2.0-neoforge-mc1.21.48 янв. 2025 г.90Minecraft: 1.21.4neoforge
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21.4
release
Fusion 1.2.0
1.2.0-neoforge-mc1.21.38 янв. 2025 г.27Minecraft: 1.21.2, 1.21.3neoforge
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.0
1.2.0-neoforge-mc1.218 янв. 2025 г.263Minecraft: 1.21, 1.21.1neoforge
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.0
1.2.0-neoforge-mc1.20.68 янв. 2025 г.30Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.0
1.2.0-neoforge-mc1.20.48 янв. 2025 г.29Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.2.0
1.2.0-fabric-mc1.21.48 янв. 2025 г.266Minecraft: 1.21.4fabric, quilt
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.0
1.2.0-fabric-mc1.21.38 янв. 2025 г.45Minecraft: 1.21.2, 1.21.3fabric, quilt
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.0
1.2.0-fabric-mc1.218 янв. 2025 г.594Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.0
1.2.0-fabric-mc1.20.68 янв. 2025 г.36Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.0
1.2.0-fabric-mc1.20.48 янв. 2025 г.91Minecraft: 1.20.4fabric, quilt
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.0
1.2.0-fabric-mc1.20.28 янв. 2025 г.50Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.0
1.2.0-fabric-mc1.20.18 янв. 2025 г.769Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.0
1.2.0-fabric-mc1.19.48 янв. 2025 г.35Minecraft: 1.19.4fabric, quilt
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.0
1.2.0-fabric-mc1.19.28 янв. 2025 г.59Minecraft: 1.19.2fabric, quilt
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.0
1.2.0-fabric-mc1.188 янв. 2025 г.43Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.0
1.2.0-forge-mc1.21.48 янв. 2025 г.63Minecraft: 1.21.4forge
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.0
1.2.0-forge-mc1.21.38 янв. 2025 г.30Minecraft: 1.21.2, 1.21.3forge
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.0
1.2.0-forge-mc1.218 янв. 2025 г.41Minecraft: 1.21, 1.21.1forge
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.2.0
1.2.0-forge-mc1.20.68 янв. 2025 г.25Minecraft: 1.20.5, 1.20.6forge
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.2.0
1.2.0-forge-mc1.20.48 янв. 2025 г.36Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.2.0
1.2.0-forge-mc1.20.18 янв. 2025 г.1,7 тыс.Minecraft: 1.20, 1.20.1forge
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.0
1.2.0-forge-mc1.19.48 янв. 2025 г.29Minecraft: 1.19.4forge
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.0
1.2.0-forge-mc1.19.38 янв. 2025 г.30Minecraft: 1.19.3forge
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.0
1.2.0-forge-mc1.19.28 янв. 2025 г.121Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.0
1.2.0-forge-mc1.188 янв. 2025 г.67Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.0
1.2.0-forge-mc1.178 янв. 2025 г.20Minecraft: 1.17, 1.17.1forge
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.0
1.2.0-forge-mc1.168 янв. 2025 г.50Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.0
1.2.0-forge-mc1.158 янв. 2025 г.22Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.0
1.2.0-forge-mc1.148 янв. 2025 г.28Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.2.0
1.2.0-forge-mc1.128 янв. 2025 г.96Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### 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`, and `biome_water` tinting functions
- All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added `pane_culling_fix` to cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added `count`, `durability`, `enchantment`, and `potion` item predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added `altitude`, `is_baby`, `biome`, and `dimension` entity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added `pieced` connecting texture layout allowing bordered textures from only a few tiles
- Added `overlay` connecting 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 `connections` key similar to the `texture` key
- Added `match_block_in_front`, `match_state_in_front`, and `is_direction` connection predicates
- Improved error messages for `match_state` connection predicate
- Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the `full` connecting texture layout
- Fixed `match_state` predicate 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_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.1a
1.1.1a-neoforge-mc1.2131 авг. 2024 г.41,2 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.1.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.1.1a
1.1.1a-neoforge-mc1.20.631 авг. 2024 г.230Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.1.1a
- Fixed 'Model loader not found' errors
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.1.1
1.1.1-neoforge-mc1.20.618 авг. 2024 г.103Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.1.1
1.1.1-neoforge-mc1.2118 авг. 2024 г.1,4 тыс.Minecraft: 1.21, 1.21.1neoforge
Что нового
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.1.1
1.1.1-fabric-mc1.2118 авг. 2024 г.78,6 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.1.1
1.1.1-forge-mc1.2118 авг. 2024 г.5,8 тыс.Minecraft: 1.21, 1.21.1forge
Что нового
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.21 & 1.21.1
release
Fusion 1.1.1
1.1.1-forge-mc1.20.618 авг. 2024 г.379Minecraft: 1.20.5, 1.20.6forge
Что нового
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.1.1
1.1.1-fabric-mc1.20.617 авг. 2024 г.2,1 тыс.Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### Fusion 1.1.1
- Initial release of Fusion for Minecraft 1.20.5 & 1.20.6
release
Fusion 1.1.1
1.1.1-neoforge-mc1.20.422 февр. 2024 г.11,7 тыс.Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.1.1
- Added `match_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.1.1
1.1.1-fabric-mc1.20.422 февр. 2024 г.58,6 тыс.Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.1.1
- Added `match_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.1.1
1.1.1-fabric-mc1.20.222 февр. 2024 г.6,6 тыс.Minecraft: 1.20.2, 1.20.3fabric, quilt
Что нового
### Fusion 1.1.1
- Added `match_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.1.1
1.1.1-fabric-mc1.20.122 февр. 2024 г.1 млнMinecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.1.1
- Added `match_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.1
1.1.1-fabric-mc1.19.422 февр. 2024 г.3 тыс.Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.1.1
- Added `match_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.1
1.1.1-fabric-mc1.19.222 февр. 2024 г.24,6 тыс.Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.1.1
- Added `match_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.1
1.1.1-fabric-mc1.1822 февр. 2024 г.2,6 тыс.Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.1.1
- Added `match_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.1
1.1.1-forge-mc1.20.222 февр. 2024 г.4,1 тыс.Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### Fusion 1.1.1
- Added `match_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.1.1
1.1.1-forge-mc1.20.122 февр. 2024 г.630,9 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.1.1
- Added `match_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.1
1.1.1-forge-mc1.19.422 февр. 2024 г.1,7 тыс.Minecraft: 1.19.4forge, neoforge
Что нового
### Fusion 1.1.1
- Added `match_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.1
1.1.1-forge-mc1.19.322 февр. 2024 г.698Minecraft: 1.19.3forge, neoforge
Что нового
### Fusion 1.1.1
- Added `match_state` connection predicate
- Added `is_face_visible` connection predicate
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.1
1.1.1-forge-mc1.19.222 февр. 2024 г.480,6 тыс.Minecraft: 1.19.2forge, neoforge
Что нового
### Fusion 1.1.1
- Added `match_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.1
1.1.1-forge-mc1.1822 февр. 2024 г.31,4 тыс.Minecraft: 1.18, 1.18.1, 1.18.2forge, neoforge
Что нового
### Fusion 1.1.1
- Added `match_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.1
1.1.1-forge-mc1.1722 февр. 2024 г.730Minecraft: 1.17, 1.17.1forge, neoforge
Что нового
### Fusion 1.1.1
- Added `match_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.1
1.1.1-forge-mc1.1622 февр. 2024 г.14,9 тыс.Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge, neoforge
Что нового
### Fusion 1.1.1
- Added `match_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.1
1.1.1-forge-mc1.1522 февр. 2024 г.733Minecraft: 1.15, 1.15.1, 1.15.2forge, neoforge
Что нового
### Fusion 1.1.1
- Added `match_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.1
1.1.1-forge-mc1.1422 февр. 2024 г.784Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge, neoforge
Что нового
### Fusion 1.1.1
- Added `match_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.1
1.1.1-forge-mc1.1222 февр. 2024 г.88,3 тыс.Minecraft: 1.12, 1.12.1, 1.12.2forge, neoforge
Что нового
### Fusion 1.1.1
- Added `match_state` connection predicate
- Added `is_face_visible` connection predicate
- Fixed log spam for resource packs which don't have a pack.mcmeta file
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0d
1.1.0d-fabric-mc1.20.46 февр. 2024 г.14,5 тыс.Minecraft: 1.20.4fabric, quilt
Что нового
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.1.0d
1.1.0d-fabric-mc1.20.24 февр. 2024 г.1,6 тыс.Minecraft: 1.20.2, 1.20.3, 1.20.4fabric, quilt
Что нового
### Fusion 1.1.0d
- Add workaround for crash with Sodium 0.5.8
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.1.0a
1.1.0a-neoforge-mc1.20.43 янв. 2024 г.819Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.1.0a
- Fix Forge's `render_type` property not working for connecting models
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.1.0c
1.1.0c-forge-mc1.20.23 янв. 2024 г.1,4 тыс.Minecraft: 1.20.2forge, neoforge
Что нового
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.1.0c
1.1.0c-forge-mc1.20.13 янв. 2024 г.76,1 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0c
1.1.0c-forge-mc1.19.43 янв. 2024 г.305Minecraft: 1.19.4forge, neoforge
Что нового
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0c
1.1.0c-forge-mc1.19.33 янв. 2024 г.136Minecraft: 1.19.3forge, neoforge
Что нового
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0c
1.1.0c-forge-mc1.19.23 янв. 2024 г.276,6 тыс.Minecraft: 1.19.2forge, neoforge
Что нового
### Fusion 1.1.0c
- Fix Forge's `render_type` property 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0
1.1.0-neoforge-mc1.20.427 дек. 2023 г.260Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.1.0
- Initial release of Fusion for NeoForge
release
Fusion 1.1.0
1.1.0-neoforge-mc1.20.427 дек. 2023 г.145Minecraft: 1.20.3, 1.20.4neoforge
Что нового
### Fusion 1.1.0b
- Initial release of Fusion for NeoForge
release
Fusion 1.1.0c
1.1.0c-fabric-mc1.20.219 нояб. 2023 г.16,2 тыс.Minecraft: 1.20.2, 1.20.3, 1.20.4fabric, quilt
Что нового
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.1.0c
1.1.0c-fabric-mc1.20.119 нояб. 2023 г.101,2 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0c
1.1.0c-fabric-mc1.19.419 нояб. 2023 г.910Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0c
1.1.0c-fabric-mc1.19.219 нояб. 2023 г.10,9 тыс.Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0c
1.1.0c-fabric-mc1.1819 нояб. 2023 г.978Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.1.0c
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0b
1.1.0b-forge-mc1.20.219 нояб. 2023 г.2,4 тыс.Minecraft: 1.20.2, 1.20.3, 1.20.4forge
Что нового
### 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.1.0b
1.1.0b-forge-mc1.20.119 нояб. 2023 г.148,4 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0b
1.1.0b-forge-mc1.19.419 нояб. 2023 г.279Minecraft: 1.19.4forge, neoforge
Что нового
### 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0b
1.1.0b-forge-mc1.19.319 нояб. 2023 г.346Minecraft: 1.19.3forge, neoforge
Что нового
### 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0b
1.1.0b-forge-mc1.19.219 нояб. 2023 г.17,5 тыс.Minecraft: 1.19.2forge, neoforge
Что нового
### 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0a
1.1.0a-forge-mc1.1515 нояб. 2023 г.193Minecraft: 1.15, 1.15.1, 1.15.2forge, neoforge
Что нового
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0a
1.1.0a-forge-mc1.1415 нояб. 2023 г.182Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge, neoforge
Что нового
### Fusion 1.1.0a
- Fixed connecting textures not working for multipart 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0b
1.1.0b-fabric-mc1.20.213 нояб. 2023 г.1,1 тыс.Minecraft: 1.20.2fabric, quilt
Что нового
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.1.0b
1.1.0b-fabric-mc1.20.113 нояб. 2023 г.2,2 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0b
1.1.0b-fabric-mc1.19.413 нояб. 2023 г.127Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0b
1.1.0b-fabric-mc1.19.213 нояб. 2023 г.467Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0b
1.1.0b-fabric-mc1.1813 нояб. 2023 г.138Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.1.0b
- Added workaround for weird Fabric API quirks when caching quads in connecting models
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0a
1.1.0a-fabric-mc1.20.212 нояб. 2023 г.295Minecraft: 1.20.2fabric, quilt
Что нового
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.1.0a
1.1.0a-fabric-mc1.20.112 нояб. 2023 г.1 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0a
1.1.0a-fabric-mc1.19.412 нояб. 2023 г.135Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0a
1.1.0a-fabric-mc1.19.212 нояб. 2023 г.139Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0a
1.1.0a-fabric-mc1.1812 нояб. 2023 г.132Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.1.0a
- Added ModMenu library badge
- Fixed concurrency issue when checking connections for connecting models
- Fixed crash with Indium
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0a
1.1.0a-forge-mc1.20.212 нояб. 2023 г.254Minecraft: 1.20.2forge
Что нового
### 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.1.0a
1.1.0a-forge-mc1.20.112 нояб. 2023 г.3 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0a
1.1.0a-forge-mc1.19.412 нояб. 2023 г.143Minecraft: 1.19.4forge, neoforge
Что нового
### 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0a
1.1.0a-forge-mc1.19.312 нояб. 2023 г.91Minecraft: 1.19.3forge, neoforge
Что нового
### 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0a
1.1.0a-forge-mc1.19.212 нояб. 2023 г.591Minecraft: 1.19.2forge, neoforge
Что нового
### 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0
1.1.0-fabric-mc1.20.29 нояб. 2023 г.581Minecraft: 1.20.2fabric, quilt
Что нового
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.1.0
1.1.0-fabric-mc1.20.19 нояб. 2023 г.1,7 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0
1.1.0-fabric-mc1.19.49 нояб. 2023 г.139Minecraft: 1.19.4fabric, quilt
Что нового
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0
1.1.0-fabric-mc1.19.29 нояб. 2023 г.224Minecraft: 1.19.2fabric, quilt
Что нового
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0
1.1.0-fabric-mc1.189 нояб. 2023 г.129Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### 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`, and `compact` connecting texture layouts
- Added support for Fabric's appearance API
- Improved the performance of connecting models
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0
1.1.0-forge-mc1.20.29 нояб. 2023 г.175Minecraft: 1.20.2forge
Что нового
### 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.1.0
1.1.0-forge-mc1.20.19 нояб. 2023 г.3,9 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0
1.1.0-forge-mc1.19.49 нояб. 2023 г.181Minecraft: 1.19.4forge, neoforge
Что нового
### 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0
1.1.0-forge-mc1.19.39 нояб. 2023 г.133Minecraft: 1.19.3forge, neoforge
Что нового
### 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0
1.1.0-forge-mc1.19.29 нояб. 2023 г.443Minecraft: 1.19.2forge, neoforge
Что нового
### 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`, and `compact` connecting texture layouts
- Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's `render_type` property
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0
1.1.0-forge-mc1.189 нояб. 2023 г.13,1 тыс.Minecraft: 1.18, 1.18.1, 1.18.2forge, neoforge
Что нового
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0
1.1.0-forge-mc1.179 нояб. 2023 г.266Minecraft: 1.17, 1.17.1forge, neoforge
Что нового
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0
1.1.0-forge-mc1.169 нояб. 2023 г.2,2 тыс.Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge, neoforge
Что нового
### 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`, and `compact` connecting texture layouts
- Fixed crash with OptiFine
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0
1.1.0-forge-mc1.159 нояб. 2023 г.256Minecraft: 1.15, 1.15.1, 1.15.2forge, neoforge
Что нового
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0
1.1.0-forge-mc1.149 нояб. 2023 г.216Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge, neoforge
Что нового
### 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`, and `compact` connecting texture layouts
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.1.0
1.1.0-forge-mc1.129 нояб. 2023 г.4,9 тыс.Minecraft: 1.12, 1.12.1, 1.12.2forge, neoforge
Что нового
### 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`, and `compact` connecting texture layouts
- Fixed connecting models not working when nested inside `WeightedBakedModel`
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.6
1.0.6-fabric-mc1.20.227 сент. 2023 г.6 тыс.Minecraft: 1.20.2fabric, quilt
Что нового
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.0.6
1.0.6-fabric-mc1.20.127 сент. 2023 г.706,1 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.6
1.0.6-fabric-mc1.19.427 сент. 2023 г.412Minecraft: 1.19.4fabric, quilt
Что нового
### 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 `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.6
1.0.6-fabric-mc1.19.227 сент. 2023 г.3,8 тыс.Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.6
1.0.6-fabric-mc1.1827 сент. 2023 г.338Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.6
1.0.6-forge-mc1.20.227 сент. 2023 г.465Minecraft: 1.20.2forge
Что нового
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.0.6
1.0.6-forge-mc1.20.127 сент. 2023 г.21,3 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.6
1.0.6-forge-mc1.19.427 сент. 2023 г.277Minecraft: 1.19.4forge, neoforge
Что нового
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.6
1.0.6-forge-mc1.19.327 сент. 2023 г.205Minecraft: 1.19.3forge, neoforge
Что нового
### 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 `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.6
1.0.6-forge-mc1.19.227 сент. 2023 г.13,4 тыс.Minecraft: 1.19, 1.19.1, 1.19.2forge, neoforge
Что нового
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.6
1.0.6-forge-mc1.1827 сент. 2023 г.3,3 тыс.Minecraft: 1.18, 1.18.1, 1.18.2forge, neoforge
Что нового
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.6
1.0.6-forge-mc1.1727 сент. 2023 г.120Minecraft: 1.17, 1.17.1forge, neoforge
Что нового
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.6
1.0.6-forge-mc1.1627 сент. 2023 г.407Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge, neoforge
Что нового
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.6
1.0.6-forge-mc1.1527 сент. 2023 г.114Minecraft: 1.15, 1.15.1, 1.15.2forge, neoforge
Что нового
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.6
1.0.6-forge-mc1.1427 сент. 2023 г.112Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge, neoforge
Что нового
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.6
1.0.6-forge-mc1.1227 сент. 2023 г.454Minecraft: 1.12, 1.12.1, 1.12.2forge, neoforge
Что нового
### Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.5
1.0.5-forge-mc1.20.221 сент. 2023 г.220Minecraft: 1.20.2forge
Что нового
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.0.5
1.0.5-fabric-mc1.20.221 сент. 2023 г.407Minecraft: 1.20.2fabric
Что нового
### Fusion 1.0.5
- Initial release of Fusion for Minecraft 1.20.2
release
Fusion 1.0.5b
1.0.5b-forge-mc1.1230 авг. 2023 г.294Minecraft: 1.12, 1.12.1, 1.12.2forge, neoforge
Что нового
### Fusion 1.0.5b
- Fixed crash with VintageFix 0.3+
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.5a
1.0.5a-forge-mc1.1219 авг. 2023 г.220Minecraft: 1.12, 1.12.1, 1.12.2forge, neoforge
Что нового
### Fusion 1.0.5a
- Added separate mixins for when VintageFix is installed
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.5a
1.0.5a-fabric-mc1.2019 авг. 2023 г.8,9 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.0.5a
- Make sure parent models get resolved properly when combined with mods like DashLoader
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.5a
1.0.5a-fabric-mc1.19.419 авг. 2023 г.233Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.0.5a
- Make sure parent models get resolved properly when combined with mods like DashLoader
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.5a
1.0.5a-forge-mc1.2019 авг. 2023 г.13,5 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.0.5a
- Make sure parent models get resolved properly when combined with mods like DashLoader
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.5a
1.0.5a-forge-mc1.19.419 авг. 2023 г.166Minecraft: 1.19.4forge, neoforge
Что нового
### Fusion 1.0.5a
- Make sure parent models get resolved properly when combined with mods like DashLoader
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.5a
1.0.5a-forge-mc1.19.319 авг. 2023 г.121Minecraft: 1.19.3forge, neoforge
Что нового
### Fusion 1.0.5a
- Make sure parent models get resolved properly when combined with mods like DashLoader
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.5
1.0.5-fabric-mc1.2029 июл. 2023 г.2,6 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Что нового
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.5
1.0.5-fabric-mc1.19.429 июл. 2023 г.212Minecraft: 1.19.4fabric, quilt
Что нового
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.5
1.0.5-fabric-mc1.19.229 июл. 2023 г.4,8 тыс.Minecraft: 1.19.2fabric, quilt
Что нового
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.5
1.0.5-fabric-mc1.1829 июл. 2023 г.771Minecraft: 1.18, 1.18.1, 1.18.2fabric, quilt
Что нового
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.5
1.0.5-forge-mc1.2029 июл. 2023 г.2,9 тыс.Minecraft: 1.20, 1.20.1forge, neoforge
Что нового
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.5
1.0.5-forge-mc1.19.429 июл. 2023 г.209Minecraft: 1.19.4forge, neoforge
Что нового
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.5
1.0.5-forge-mc1.19.329 июл. 2023 г.276Minecraft: 1.19.3forge, neoforge
Что нового
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.5
1.0.5-forge-mc1.19.229 июл. 2023 г.10,9 тыс.Minecraft: 1.19, 1.19.1, 1.19.2forge, neoforge
Что нового
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.5
1.0.5-forge-mc1.1829 июл. 2023 г.1,3 тыс.Minecraft: 1.18, 1.18.1, 1.18.2forge, neoforge
Что нового
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.5
1.0.5-forge-mc1.1729 июл. 2023 г.185Minecraft: 1.17, 1.17.1forge, neoforge
Что нового
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.5
1.0.5-forge-mc1.1629 июл. 2023 г.2,4 тыс.Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge, neoforge
Что нового
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting ambient occlusion to false by default
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.5
1.0.5-forge-mc1.1529 июл. 2023 г.194Minecraft: 1.15, 1.15.1, 1.15.2forge, neoforge
Что нового
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.5
1.0.5-forge-mc1.1429 июл. 2023 г.229Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge, neoforge
Что нового
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.5
1.0.5-forge-mc1.1229 июл. 2023 г.342Minecraft: 1.12, 1.12.1, 1.12.2forge, neoforge
Что нового
### Fusion 1.0.5
- Fixed `VanillaModelDataBuilder` setting 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.4
1.0.4-fabric-mc1.2027 июл. 2023 г.295Minecraft: 1.20, 1.20.1fabric
Что нового
### 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.4
1.0.4-fabric-mc1.19.427 июл. 2023 г.102Minecraft: 1.19.4fabric
Что нового
### 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.4
1.0.4-fabric-mc1.19.227 июл. 2023 г.137Minecraft: 1.19.2fabric
Что нового
### 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.4
1.0.4-fabric-mc1.1827 июл. 2023 г.89Minecraft: 1.18, 1.18.1, 1.18.2fabric
Что нового
### 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.4
1.0.4-forge-mc1.2027 июл. 2023 г.498Minecraft: 1.20, 1.20.1forge
Что нового
### 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.4
1.0.4-forge-mc1.19.427 июл. 2023 г.164Minecraft: 1.19.4forge
Что нового
### 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.4
1.0.4-forge-mc1.19.327 июл. 2023 г.1 тыс.Minecraft: 1.19.3forge
Что нового
### 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.4
1.0.4-forge-mc1.19.227 июл. 2023 г.208Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.4
1.0.4-forge-mc1.1827 июл. 2023 г.153Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.4
1.0.4-forge-mc1.1727 июл. 2023 г.150Minecraft: 1.17, 1.17.1forge
Что нового
### 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.4
1.0.4-forge-mc1.1627 июл. 2023 г.194Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
- Added separate mixins for when ModernFix is installed
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.4
1.0.4-forge-mc1.1527 июл. 2023 г.131Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.4
1.0.4-forge-mc1.1427 июл. 2023 г.162Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.4
1.0.4-forge-mc1.1227 июл. 2023 г.196Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### 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
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.3
1.0.3-fabric-mc1.204 июл. 2023 г.1,5 тыс.Minecraft: 1.20, 1.20.1fabric
Что нового
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.3
1.0.3-fabric-mc1.19.44 июл. 2023 г.181Minecraft: 1.19.4fabric
Что нового
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.3
1.0.3-fabric-mc1.19.24 июл. 2023 г.813Minecraft: 1.19.2fabric
Что нового
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.3
1.0.3-fabric-mc1.184 июл. 2023 г.172Minecraft: 1.18, 1.18.1, 1.18.2fabric
Что нового
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.3
1.0.3-forge-mc1.204 июл. 2023 г.1,8 тыс.Minecraft: 1.20, 1.20.1forge
Что нового
### 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.3
1.0.3-forge-mc1.19.44 июл. 2023 г.204Minecraft: 1.19.4forge
Что нового
### 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.3
1.0.3-forge-mc1.19.34 июл. 2023 г.148Minecraft: 1.19.3forge
Что нового
### 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 `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.3
1.0.3-forge-mc1.19.24 июл. 2023 г.788Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### 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 textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.3
1.0.3-forge-mc1.184 июл. 2023 г.356Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.3
1.0.3-forge-mc1.174 июл. 2023 г.200Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.3
1.0.3-forge-mc1.164 июл. 2023 г.287Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.3
1.0.3-forge-mc1.154 июл. 2023 г.201Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.3
1.0.3-forge-mc1.144 июл. 2023 г.180Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.3
1.0.3-forge-mc1.124 июл. 2023 г.267Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.0.3
- Added `ModelBakingContext#getModel`
- Fixed parents for connecting models not always being resolved
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.2
1.0.2-fabric-mc1.202 июл. 2023 г.332Minecraft: 1.20, 1.20.1fabric
Что нового
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.2
1.0.2-fabric-mc1.19.42 июл. 2023 г.125Minecraft: 1.19.4fabric
Что нового
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.2
1.0.2-fabric-mc1.19.22 июл. 2023 г.477Minecraft: 1.19.2fabric
Что нового
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.2
1.0.2-fabric-mc1.182 июл. 2023 г.110Minecraft: 1.18, 1.18.1, 1.18.2fabric
Что нового
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.2
1.0.2-forge-mc1.202 июл. 2023 г.181Minecraft: 1.20, 1.20.1forge
Что нового
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.2
1.0.2-forge-mc1.19.42 июл. 2023 г.208Minecraft: 1.19.4forge
Что нового
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.2
1.0.2-forge-mc1.19.32 июл. 2023 г.206Minecraft: 1.19.3forge
Что нового
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.2
1.0.2-forge-mc1.19.22 июл. 2023 г.422Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.2
1.0.2-forge-mc1.182 июл. 2023 г.151Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.2
1.0.2-forge-mc1.172 июл. 2023 г.129Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.2
1.0.2-forge-mc1.162 июл. 2023 г.149Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.2
1.0.2-forge-mc1.152 июл. 2023 г.157Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.2
1.0.2-forge-mc1.142 июл. 2023 г.191Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.2
1.0.2-forge-mc1.122 июл. 2023 г.178Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.1
1.0.1-forge-mc1.1821 июн. 2023 г.645Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.1
1.0.1-fabric-mc1.2021 июн. 2023 г.460Minecraft: 1.20, 1.20.1fabric
Что нового
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.1
1.0.1-fabric-mc1.19.421 июн. 2023 г.244Minecraft: 1.19.4fabric
Что нового
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.1
1.0.1-fabric-mc1.19.221 июн. 2023 г.244Minecraft: 1.19.2fabric
Что нового
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.1
1.0.1-fabric-mc1.1821 июн. 2023 г.106Minecraft: 1.18, 1.18.1, 1.18.2fabric
Что нового
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.1
1.0.1-forge-mc1.2021 июн. 2023 г.728Minecraft: 1.20, 1.20.1forge
Что нового
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.1
1.0.1-forge-mc1.19.421 июн. 2023 г.174Minecraft: 1.19.4forge
Что нового
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.1
1.0.1-forge-mc1.19.321 июн. 2023 г.133Minecraft: 1.19.3forge
Что нового
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.1
1.0.1-forge-mc1.19.221 июн. 2023 г.281Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.0.1
- Fixed textures not loading correctly when ModernFix is installed
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.1
1.0.1-forge-mc1.1721 июн. 2023 г.115Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.1
1.0.1-forge-mc1.1621 июн. 2023 г.177Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.1
1.0.1-forge-mc1.1521 июн. 2023 г.195Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.1
1.0.1-forge-mc1.1421 июн. 2023 г.197Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.1
1.0.1-forge-mc1.1221 июн. 2023 г.173Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.0.1
- Fixed `SpriteCreationContext` sometimes returning the wrong atlas size
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0a
1.0.0a-fabric-mc1.2020 июн. 2023 г.139Minecraft: 1.20fabric
Что нового
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0a
1.0.0a-fabric-mc1.19.420 июн. 2023 г.102Minecraft: 1.19.4fabric
Что нового
### Fusion 1.0.0a
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0b
1.0.0b-fabric-mc1.19.220 июн. 2023 г.147Minecraft: 1.19.2fabric
Что нового
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0b
1.0.0b-fabric-mc1.1820 июн. 2023 г.91Minecraft: 1.18, 1.18.1, 1.18.2fabric
Что нового
### Fusion 1.0.0b
- Fusion is no longer marked as client-side only
- Fixed versioning
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0a
1.0.0a-fabric-mc1.19.220 июн. 2023 г.114Minecraft: 1.19.2fabric
Что нового
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0a
1.0.0a-fabric-mc1.1820 июн. 2023 г.123Minecraft: 1.18, 1.18.1, 1.18.2fabric
Что нового
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0a
1.0.0a-forge-mc1.19.220 июн. 2023 г.209Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0a
1.0.0a-forge-mc1.1820 июн. 2023 г.485Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0a
1.0.0a-forge-mc1.1720 июн. 2023 г.102Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0a
1.0.0a-forge-mc1.1620 июн. 2023 г.161Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0a
1.0.0a-forge-mc1.1520 июн. 2023 г.160Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.0.0a
- Fixed crash with Iris
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0
1.0.0-fabric-mc1.2019 июн. 2023 г.2,2 тыс.Minecraft: 1.20, 1.20.1fabric
Что нового
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0
1.0.0-fabric-mc1.19.419 июн. 2023 г.162Minecraft: 1.19.4fabric
Что нового
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0
1.0.0-fabric-mc1.19.219 июн. 2023 г.211Minecraft: 1.19.2fabric
Что нового
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0
1.0.0-fabric-mc1.1819 июн. 2023 г.318Minecraft: 1.18, 1.18.1, 1.18.2fabric
Что нового
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0
1.0.0-forge-mc1.2019 июн. 2023 г.1,1 тыс.Minecraft: 1.20, 1.20.1forge
Что нового
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0
1.0.0-forge-mc1.19.419 июн. 2023 г.269Minecraft: 1.19.4forge
Что нового
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0
1.0.0-forge-mc1.19.319 июн. 2023 г.182Minecraft: 1.19.3forge
Что нового
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0
1.0.0-forge-mc1.19.219 июн. 2023 г.327Minecraft: 1.19, 1.19.1, 1.19.2forge
Что нового
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0
1.0.0-forge-mc1.1819 июн. 2023 г.2,2 тыс.Minecraft: 1.18, 1.18.1, 1.18.2forge
Что нового
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0
1.0.0-forge-mc1.1719 июн. 2023 г.190Minecraft: 1.17, 1.17.1forge
Что нового
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0
1.0.0-forge-mc1.1619 июн. 2023 г.265Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5forge
Что нового
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0
1.0.0-forge-mc1.1519 июн. 2023 г.134Minecraft: 1.15, 1.15.1, 1.15.2forge
Что нового
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0
1.0.0-forge-mc1.1419 июн. 2023 г.229Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4forge
Что нового
### Fusion 1.0.0
- Initial release of Fusion
release
Fusion 1.0.0
1.0.0-forge-mc1.1219 июн. 2023 г.1,3 тыс.Minecraft: 1.12, 1.12.1, 1.12.2forge
Что нового
### Fusion 1.0.0
- Initial release of Fusion